RegexTrie

public class RegexTrie
extends Object

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


RegexTrie เป็น Trie ที่แต่ละอัน เก็บไว้ ส่วนของคีย์คือ regex 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)

ดึงค่าจาก trie โดยจับคู่ลำดับ String s ที่ให้ไว้กับลำดับ ERROR(/Pattern) s ที่จัดเก็บไว้ใน trie

V retrieve ( captures, String... strings) retrieve ( captures, String... strings)

ดึงค่าจาก trie โดยจับคู่ลำดับ String s ที่ให้ไว้กับลำดับ ERROR(/Pattern) s ที่จัดเก็บไว้ใน trie

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)

ดึงค่าจาก trie โดยจับคู่ลำดับ String s ที่ให้ไว้กับลำดับ ERROR(/Pattern) s ที่จัดเก็บไว้ใน trie

พารามิเตอร์
strings String : ลำดับของ String s ที่จะจับคู่

การส่งคืน
V ค่าที่เกี่ยวข้อง หรือ null หากไม่พบค่า

เรียกคืน

public V retrieve ( captures, 
                String... strings)

ดึงค่าจาก trie โดยจับคู่ลำดับ String s ที่ให้ไว้กับลำดับ ERROR(/Pattern) s ที่จัดเก็บไว้ใน trie วิธีการเวอร์ชันนี้ยังส่งคืน ERROR(/List) ของกลุ่มการจับสำหรับแต่ละ ERROR(/Pattern) ที่ตรงกัน

แต่ละรายการในรายการภายนอกสอดคล้องกับหนึ่งระดับของ Pattern ในไตร ในแต่ละระดับ รายชื่อกลุ่มการจับจะถูกจัดเก็บไว้ หากไม่มีการจับในระดับใดระดับหนึ่ง รายการว่างจะถูกจัดเก็บไว้

โปรดทราบว่า captures จะถูกแก้ไข ERROR(/List#clear()) ก่อนที่การดึงข้อมูลจะเริ่มขึ้น นอกจากนี้ หากการดึงข้อมูลล้มเหลวหลังจากลำดับการจับคู่บาง captures จะยังคงสะท้อนถึงกลุ่มการจับจากการจับคู่บางส่วน

พารามิเตอร์
captures : List<List<String>> ซึ่งกลุ่มการจับจะถูกส่งกลับ

strings String : ลำดับของ String s ที่จะจับคู่

การส่งคืน
V ค่าที่เกี่ยวข้อง หรือ null หากไม่พบค่า

toString

public String toString ()

การส่งคืน
String