RegexTrie

public class RegexTrie
extends Object

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


RegexTrie הוא עץ טריא (Trie) שבו כל מקטע ששמור של המפתח הוא ביטוי רגולרי ERROR(/Pattern). לכן, המפתח המלא ששמור הוא List&lt;Pattern&gt; ולא List&lt;String&gt; כמו ב-trie רגיל. שימו לב ששיטת retrieve(String) תתאים ל-Patterns לפי נקודה, במקום לבדוק אם יש שוויון לפי נקודה כמו ב-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 על ידי התאמה של הרצף של Strings שסופק לרצף של ERROR(/Pattern)s שמאוחסן ב-Trie.

V retrieve( captures, String... strings)

אחזור ערך מה-Trie על ידי התאמה של הרצף של Strings שסופק לרצף של ERROR(/Pattern)s שמאוחסן ב-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 על ידי התאמה של הרצף של Strings שסופק לרצף של ERROR(/Pattern)s שמאוחסן ב-Trie.

פרמטרים
strings String: רצף של String שניות להתאמה

החזרות
V הערך המשויך, או null אם לא נמצא ערך

אחזר

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

אחזור ערך מה-Trie על ידי התאמה של הרצף של Strings שסופק לרצף של 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