RegexTrie

public class RegexTrie
extends Object

java.lang.Object
   ↳ com.android.tradefed.util.RegexTrie<V>


RegexTrie คือไตรซึ่งแต่ละส่วนของคีย์ที่จัดเก็บไว้คือนิพจน์ทั่วไป ERROR(/Pattern) ดังนั้น คีย์ที่จัดเก็บไว้ทั้งหมดจึงเป็น List&lt;Pattern&gt; ไม่ใช่ List&lt;String&gt; ดังเช่นในไทรีมาตรฐาน โปรดทราบว่าวิธี 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)

ดึงค่าจากไตร ซึ่งทำได้โดยการจับคู่ลำดับ String ที่ระบุกับลำดับ ERROR(/Pattern) ที่เก็บไว้ในไตร

V retrieve( captures, String... strings)

ดึงค่าจากไตร ซึ่งทำได้โดยการจับคู่ลำดับ String ที่ระบุกับลำดับ ERROR(/Pattern) ที่เก็บไว้ในไตร

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