RegexTrie
public
class
RegexTrie
extends Object
| java.lang.Object | |
| ↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie คือไตรซึ่งแต่ละส่วนของคีย์ที่ERROR(/Pattern) ดังนั้น คีย์ที่List<Pattern> ไม่ใช่ List<String> ดังเช่นในไทรีมาตรฐาน โปรดทราบว่าวิธี retrieve(String) จะจับคู่แบบจุดต่อจุดกับ Pattern แทนที่จะตรวจสอบความเท่าเทียมแบบจุดต่อจุดเหมือนในไทรีมาตรฐาน ด้วยเหตุนี้ จึงอาจทํางานได้ไม่ดีกับชุดข้อมูลขนาดใหญ่
นอกจากนี้ คุณยังใช้รายการ null ในลําดับ Pattern เป็นไวลด์การ์ดได้ด้วย หากพบ null ระบบจะไม่สนใจรายการต่อๆ มาในลำดับ
เมื่อโค้ดการเรียกข้อมูลพบ null Pattern โค้ดจะรอดูก่อนว่ารายการที่เฉพาะเจาะจงมากขึ้นตรงกับลําดับหรือไม่ หากมีรายการที่ตรงกัน ระบบจะดำเนินการกับรายการที่เจาะจงยิ่งขึ้นนั้น แม้ว่าจะจับคู่ไม่สำเร็จในภายหลังก็ตาม
หากไม่มีรายการที่ตรงกันมากขึ้น การจับคู่ไวลด์การ์ดจะเพิ่ม String ที่เหลือทั้งหมดลงในรายการการจับ (หากเปิดใช้) และแสดงผลค่าที่เชื่อมโยงกับไวลด์การ์ด
ตัวอย่างสั้นๆ ของฟังก์ชันไวลด์การ์ด
List<List<String>> captures = new LinkedList<List<String>>(); RegexTrie<Integer> trie = new RegexTrie<Integer>(); trie.put(2, "a", null); trie.put(4, "a", "b"); trie.retrieve(captures, "a", "c", "e"); // returns 2. captures is now [[], ["c"], ["e"]] trie.retrieve(captures, "a", "b"); // returns 4. captures is now [[], []] trie.retrieve(captures, "a", "b", "c"); // returns null. captures is now [[], []]
สรุป
ตัวสร้างแบบสาธารณะ | |
|---|---|
RegexTrie()
|
|
เมธอดสาธารณะ | |
|---|---|
void
|
clear()
|
V
|
put(V value, Pattern... patterns)
เพิ่มรายการลงในไทร |
V
|
retrieve(String... strings)
ดึงค่าจากไตร ซึ่งทำได้โดยการจับคู่ลำดับ |
V
|
retrieve(
ดึงค่าจากไตร ซึ่งทำได้โดยการจับคู่ลำดับ |
String
|
toString()
|
ตัวสร้างแบบสาธารณะ
RegexTrie
public RegexTrie ()
เมธอดสาธารณะ
ล้าง
public void clear ()
ใส่
public V put (V value,
Pattern... patterns)เพิ่มรายการลงในไทร
| พารามิเตอร์ | |
|---|---|
value |
V: ค่าที่จะตั้ง |
patterns |
Pattern: ลําดับ ERROR(/Pattern) ที่ต้องจับคู่ตามลําดับเพื่อดึงข้อมูล value ที่เชื่อมโยง |
| คิกรีเทิร์น | |
|---|---|
V |
|
ดึงข้อมูล
public V retrieve (String... strings)
ดึงค่าจากไตร ซึ่งทำได้โดยการจับคู่ลำดับ String ที่ระบุกับลำดับ ERROR(/Pattern) ที่เก็บไว้ในไตร
| พารามิเตอร์ | |
|---|---|
strings |
String: ลำดับ String ที่จะจับคู่ |
| คิกรีเทิร์น | |
|---|---|
V |
ค่าที่เชื่อมโยง หรือ null หากไม่พบค่า |
ดึงข้อมูล
public V retrieve (captures, String... strings)
ดึงค่าจากไตร ซึ่งทำได้โดยการจับคู่ลำดับ String ที่ระบุกับลำดับ ERROR(/Pattern) ที่เก็บไว้ในไตร นอกจากนี้ เมธอดเวอร์ชันนี้จะแสดงผลERROR(/List) ของกลุ่มที่จับสำหรับแต่ละ ERROR(/Pattern) ที่ตรงกันด้วย
รายการแต่ละรายการในลิสต์ภายนอกจะสอดคล้องกับ Pattern ระดับหนึ่งในไทร
ระบบจะจัดเก็บรายการกลุ่มการบันทึกไว้สำหรับแต่ละระดับ หากไม่มีการบันทึกสำหรับระดับใดระดับหนึ่ง ระบบจะจัดเก็บรายการว่าง
โปรดทราบว่า captures จะถูก ERROR(/List#clear()) ก่อนการดึงข้อมูลจะเริ่มขึ้น
นอกจากนี้ หากการดึงข้อมูลไม่สําเร็จหลังจากการจับคู่ตามลําดับบางส่วน captures จะยังคงแสดงแคปเจอร์กรุ๊ปจากการจับคู่บางส่วน
| พารามิเตอร์ | |
|---|---|
captures |
: List<List<String>> ที่ระบบจะแสดงผลกลุ่มการจับภาพ |
strings |
String: ลำดับ String ที่จะจับคู่ |
| คิกรีเทิร์น | |
|---|---|
V |
ค่าที่เชื่อมโยง หรือ null หากไม่พบค่า |
toString
public String toString ()
| คิกรีเทิร์น | |
|---|---|
String |
|