RegexTrie
public
class
RegexTrie
extends Object
| java.lang.Object | |
| ↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie คือไทรที่แต่ละเซ็กเมนต์ของคีย์ที่ Pattern. ดังนั้น คีย์ที่ List<Pattern> แทนที่จะเป็น List<String> เหมือนในไทรมาตรฐาน โปรดทราบว่าเมธอด
retrieve(String...) จะจับคู่แบบทีละจุดกับ Patterns,
แทนที่จะตรวจสอบความเท่ากันแบบทีละจุดเหมือนในไทรมาตรฐาน ด้วยเหตุนี้ เมธอดดังกล่าวจึงอาจ
ทำงานได้ไม่ดีกับชุดข้อมูลขนาดใหญ่
นอกจากนี้ คุณยังใช้รายการ null ในลำดับ Pattern เพื่อทำหน้าที่เป็นไวลด์การ์ดได้ด้วย หากพบ
null ระบบจะไม่สนใจรายการที่ตามมาทั้งหมดในลำดับ
เมื่อโค้ดการดึงข้อมูลพบ null Pattern ระบบจะรอเพื่อดูว่ารายการที่เฉพาะเจาะจงกว่าตรงกับลำดับหรือไม่ หากตรง รายการที่เฉพาะเจาะจงกว่านั้นจะดำเนินการต่อ
แม้ว่าภายหลังจะไม่ตรงก็ตาม
หากไม่มีรายการที่เฉพาะเจาะจงกว่าตรงกัน การจับคู่ไวลด์การ์ดจะเพิ่ม Strings
ที่เหลือทั้งหมดลงในรายการการจับภาพ (หากเปิดใช้) และแสดงผลค่าที่เชื่อมโยงกับไวลด์การ์ด
ตัวอย่างสั้นๆ ของฟังก์ชันการทำงานของไวลด์การ์ด
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, String... regexen)
เมธอดตัวช่วยนี้จะใช้รายการนิพจน์ทั่วไปเป็น |
V
|
put(V value, Pattern... patterns)
เพิ่มรายการลงในไทร |
V
|
retrieve(String... strings)
ดึงข้อมูลค่าจากไทรโดยการจับคู่ลำดับ |
V
|
retrieve(List<List<String>> captures, String... strings)
ดึงข้อมูลค่าจากไทรโดยการจับคู่ลำดับ |
String
|
toString()
|
เครื่องมือสร้างสาธารณะ
RegexTrie
public RegexTrie ()
เมธอดสาธารณะ
ล้าง
public void clear ()
put
public V put (V value,
String... regexen)เมธอดตัวช่วยนี้จะใช้รายการนิพจน์ทั่วไปเป็น String และคอมไพล์รายการดังกล่าว
แบบทันที ก่อนที่จะเพิ่ม Pattern ที่ตามมาลงในไทร
| พารามิเตอร์ | |
|---|---|
value |
V: ค่าที่จะตั้ง |
regexen |
String: ลำดับนิพจน์ทั่วไป (เป็น Strings) ที่ต้อง
จับคู่ตามลำดับเพื่อดึงข้อมูล value ที่เชื่อมโยง ระบบจะคอมไพล์ `String` แต่ละรายการเป็น Pattern ก่อนที่จะเรียกใช้ put(Object,Pattern...) |
| การคืนสินค้า | |
|---|---|
V |
|
put
public V put (V value,
Pattern... patterns)เพิ่มรายการลงในไทร
| พารามิเตอร์ | |
|---|---|
value |
V: ค่าที่จะตั้ง |
patterns |
Pattern: ลำดับ Pattern ที่ต้องจับคู่ตามลำดับเพื่อดึงข้อมูล value ที่เชื่อมโยง |
| การคืนสินค้า | |
|---|---|
V |
|
ดึงข้อมูล
public V retrieve (String... strings)
ดึงข้อมูลค่าจากไทรโดยการจับคู่ลำดับ String ที่ระบุกับลำดับ Pattern ที่จัดเก็บไว้ในไทร
| พารามิเตอร์ | |
|---|---|
strings |
String: ลำดับ String ที่จะจับคู่ |
| การคืนสินค้า | |
|---|---|
V |
ค่าที่เชื่อมโยง หรือ null หากไม่พบค่า |
ดึงข้อมูล
public V retrieve (List<List<String>> captures,
String... strings)ดึงข้อมูลค่าจากไทรโดยการจับคู่ลำดับ String ที่ระบุกับลำดับ Pattern ที่จัดเก็บไว้ในไทร เมธอดเวอร์ชันนี้จะแสดงผล
List ของกลุ่มการจับภาพสำหรับ Pattern แต่ละรายการที่ตรงกันด้วย
แต่ละรายการใน List ด้านนอกจะสอดคล้องกับ Pattern 1 ระดับในไทร
ระบบจะจัดเก็บรายการกลุ่มการจับภาพสำหรับแต่ละระดับ หากไม่มีการจับภาพ
สำหรับระดับใดระดับหนึ่ง ระบบจะจัดเก็บรายการว่าง
โปรดทราบว่าระบบจะ List.clear() captures ก่อนที่จะเริ่มการดึงข้อมูล
นอกจากนี้ หากการดึงข้อมูลล้มเหลวหลังจากลำดับการจับคู่บางส่วน captures จะ
ยังคงแสดงกลุ่มการจับภาพจากการจับคู่บางส่วน
| พารามิเตอร์ | |
|---|---|
captures |
List: ที่จะแสดงผลกลุ่มการจับภาพList<List<String>> |
strings |
String: ลำดับ String ที่จะจับคู่ |
| การคืนสินค้า | |
|---|---|
V |
ค่าที่เชื่อมโยง หรือ null หากไม่พบค่า |
toString
public String toString ()
| การคืนสินค้า | |
|---|---|
String |
|