RegexTrie
public
class
RegexTrie
extends Object
java.lang.Object | |
↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie הוא עץ טריא (Trie) שבו כל מקטע ERROR(/Pattern)
. לכן, המפתח המלא List<Pattern>
ולא List<String>
כמו ב-trie רגיל. שימו לב ששיטת retrieve(String)
תתאים ל-Pattern
s בנקודה לנקודה, במקום לבדוק אם יש שוויון בנקודה לנקודה כמו ב-trie רגיל. לכן, יכול להיות שהביצועים שלו יהיו נמוכים במערכי נתונים גדולים.
אפשר גם להשתמש ברשומה null
ברצף Pattern
כדי לשמש כתו כללי לחיפוש. אם נתקל ב-null
, המערכת תתעלם מכל הרשומות הבאות ברצף.
כשקוד האחזור נתקל ב-null
Pattern
, הוא ימתין קודם כדי לראות אם יש רשומה ספציפית יותר שתתאים לרצף. אם כן, המערכת תמשיך עם הרשומה הספציפית יותר, גם אם היא לא תתאים בהמשך.
אם לא נמצאת התאמה של רשומה ספציפית יותר, ההתאמה של התו הכללי תוסיף את כל הערכים הנותרים של 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)
הוספת רשומה ל-Trie. |
V
|
retrieve(String... strings)
אחזור ערך מה-Trie על ידי התאמה של הרצף של |
V
|
retrieve(
אחזור ערך מה-Trie על ידי התאמה של הרצף של |
String
|
toString()
|
קונסטרוקטורים גלויים לכולם
RegexTrie
public RegexTrie ()
שיטות ציבוריות
מחיקה
public void clear ()
שים
public V put (V value, Pattern... patterns)
הוספת רשומה ל-Trie.
פרמטרים | |
---|---|
value |
V : הערך שרוצים להגדיר |
patterns |
Pattern : הרצף של הערכים של ERROR(/Pattern) שצריך להתאים ברצף כדי לאחזר את הערך המשויך של value
|
החזרות | |
---|---|
V |
אחזור
public V retrieve (String... strings)
אחזור ערך מה-Trie על ידי התאמה של הרצף של String
s שסופק לרצף של ERROR(/Pattern)
s שמאוחסן ב-Trie.
פרמטרים | |
---|---|
strings |
String : רצף של String שצריך להתאים |
החזרות | |
---|---|
V |
הערך המשויך, או null אם לא נמצא ערך
|
אחזור
public V retrieve (captures, String... strings)
אחזור ערך מה-Trie על ידי התאמה של הרצף של String
s שסופק לרצף של ERROR(/Pattern)
s שמאוחסן ב-Trie. הגרסה הזו של השיטה מחזירה גם ERROR(/List)
של קבוצות תיעוד לכל ERROR(/Pattern)
שתואמת.
כל רשומה ברשימה החיצונית תואמת לרמה אחת של Pattern
ב-Trie.
רשימת הקבוצות לתיעוד תישמר בכל רמה. אם לא בוצעו צילום של אירועים ברמה מסוימת, תישמר רשימה ריקה.
שימו לב ש-captures
ERROR(/List#clear())
לפני תחילת האחזור.
כמו כן, אם אחזור הנתונים נכשל אחרי רצף חלקי של התאמות, הערך של captures
עדיין ישקף את הקבוצות לחילוץ מההתאמה החלקית.
פרמטרים | |
---|---|
captures |
: List<List<String>> שבו יוחזרו קבוצות האחזור. |
strings |
String : רצף של String שצריך להתאים |
החזרות | |
---|---|
V |
הערך המשויך, או null אם לא נמצא ערך
|
toString
public String toString ()
החזרות | |
---|---|
String |