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
ระบบจะไม่สนใจรายการต่อๆ มาในลำดับ
เมื่อรหัสดึงข้อมูลพบ Pattern
ของ null
ระบบจะรอดูว่ารายการที่เจาะจงมากกว่านั้นตรงกับลำดับหรือไม่ หากมีรายการที่ตรงกัน ระบบจะดำเนินการกับรายการที่เจาะจงยิ่งขึ้นนั้น แม้ว่าจะจับคู่ไม่สำเร็จในภายหลังก็ตาม
หากไม่มีรายการที่ตรงกันมากขึ้น การจับคู่ไวลด์การ์ดจะเพิ่ม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
ระดับหนึ่งในไทร
ระบบจะจัดเก็บรายการกลุ่มการบันทึกไว้สำหรับแต่ละระดับ หากไม่มีการบันทึกสำหรับระดับใดระดับหนึ่ง ระบบจะจัดเก็บรายการว่าง
โปรดทราบว่าระบบจะERROR(/List#clear())
captures
ก่อนการดึงข้อมูลจะเริ่มขึ้น
นอกจากนี้ หากการดึงข้อมูลไม่สําเร็จหลังจากการจับคู่ตามลําดับบางส่วน captures
จะยังคงแสดงแคปเจอร์กรุ๊ปจากการจับคู่บางส่วน
พารามิเตอร์ | |
---|---|
captures |
: List<List<String>> ที่ระบบจะแสดงผลกลุ่มการจับภาพ |
strings |
String : ลำดับ String ที่จะจับคู่ |
คิกรีเทิร์น | |
---|---|
V |
ค่าที่เชื่อมโยง หรือ null หากไม่พบค่า |
toString
public String toString ()
คิกรีเทิร์น | |
---|---|
String |