RegexTrie
public
class
RegexTrie
extends Object
JavaScript.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 |