RegexTrie

public class RegexTrie
extends Object

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


Das RegexTrie ist ein Trie, bei dem jedes gespeicherte Segment des Schlüssels ein regulärer Ausdruck ist.ERROR(/Pattern) Der vollständige gespeicherte Schlüssel ist also eine List&lt;Pattern&gt; und keine List&lt;String&gt; wie in einem Standard-Trie. Beachten Sie, dass die retrieve(String)-Methode schrittweise mit den Patterns abgeglichen wird, anstatt wie in einem Standard-Trie auf schrittweise Gleichheit geprüft zu werden. Daher kann die Leistung bei großen Datenmengen beeinträchtigt sein.

Es ist auch möglich, einen null-Eintrag in der Pattern-Sequenz als Platzhalter zu verwenden. Wenn eine null gefunden wird, werden alle nachfolgenden Einträge in der Sequenz ignoriert. Wenn der Abrufcode auf null Pattern trifft, wird zuerst geprüft, ob ein spezifischerer Eintrag mit der Sequenz übereinstimmt. Ist dies der Fall, wird der spezifischere Eintrag fortgesetzt, auch wenn er später nicht übereinstimmt.

Wenn kein spezifischerer Eintrag übereinstimmt, werden durch den Platzhalterabgleich alle verbleibenden Strings der Liste der Erfassungen hinzugefügt (falls aktiviert) und der mit dem Platzhalter verknüpfte Wert zurückgegeben.

Hier ein kurzes Beispiel für die Platzhalterfunktion:

 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 [[], []]
 

Zusammenfassung

Öffentliche Konstruktoren

RegexTrie()

Öffentliche Methoden

void clear()
V put(V value, Pattern... patterns)

Fügen Sie dem Trie einen Eintrag hinzu.

V retrieve(String... strings)

Sie können einen Wert aus dem Trie abrufen, indem Sie die bereitgestellte Sequenz von Strings mit einer Sequenz von ERROR(/Pattern)s abgleichen, die im Trie gespeichert ist.

V retrieve( captures, String... strings)

Sie können einen Wert aus dem Trie abrufen, indem Sie die bereitgestellte Sequenz von Strings mit einer Sequenz von ERROR(/Pattern)s abgleichen, die im Trie gespeichert ist.

String toString()

Öffentliche Konstruktoren

RegexTrie

public RegexTrie ()

Öffentliche Methoden

Löschen

public void clear ()

stellen

public V put (V value, 
                Pattern... patterns)

Fügen Sie dem Test einen Eintrag hinzu.

Parameter
value V: festzulegender Wert

patterns Pattern: Die Sequenz von ERROR(/Pattern)s, die nacheinander abgeglichen werden müssen, um die zugehörige value abzurufen

Returns
V

abrufen

public V retrieve (String... strings)

Ruft einen Wert aus dem Trie ab, indem die angegebene Sequenz von Strings mit einer im Trie gespeicherten Sequenz von ERROR(/Pattern)s abgeglichen wird.

Parameter
strings String: Eine Sequenz von String-Werten, die abgeglichen werden sollen

Returns
V Der zugehörige Wert oder null, wenn kein Wert gefunden wurde

abrufen

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

Ruft einen Wert aus dem Trie ab, indem die angegebene Sequenz von Strings mit einer im Trie gespeicherten Sequenz von ERROR(/Pattern)s abgeglichen wird. Diese Version der Methode gibt auch eine ERROR(/List) von Erfassungsgruppen für jede übereinstimmende ERROR(/Pattern) zurück.

Jeder Eintrag in der äußeren Liste entspricht einer Pattern-Ebene im Trie. Für jede Ebene wird die Liste der Aufnahmegruppen gespeichert. Wenn es für eine bestimmte Ebene keine Aufnahmen gab, wird eine leere Liste gespeichert.

Beachten Sie, dass captures vor Beginn des Abrufs ERROR(/List#clear())ed wird. Wenn der Abruf nach einer teilweisen Übereinstimmung fehlschlägt, werden in captures weiterhin die Erfassungsgruppen aus der teilweisen Übereinstimmung berücksichtigt.

Parameter
captures : Ein List<List<String>>-Wert, über den Erfassungsgruppen zurückgegeben werden.

strings String: Eine Sequenz von Strings, die abgeglichen werden soll

Returns
V Der zugehörige Wert oder null, wenn kein Wert gefunden wurde

toString

public String toString ()

Returns
String