RegexTrie
public class RegexTrie
extends Object
java.lang.Object | |
↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie เป็น Trie ที่แต่ละอัน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) ดึงค่าจาก trie โดยจับคู่ลำดับ |
V | retrieve ( captures, String... strings) retrieve ( captures, String... strings) ดึงค่าจาก 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 |