RegexTrie
public class RegexTrie
extends Object
Obiekt Java.lang.Object | |
↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie to próba, w której każdyERROR(/Pattern)
. Zatem pełniaList<Pattern>
zamiast List<String>
jak w standardowej próbie. Należy zauważyć, że metoda retrieve(String)
zostanie punktowo dopasowana do Pattern
s, a nie sprawdzana pod kątem równości punktowej, jak w przypadku standardowej próby. Z tego powodu może działać słabo w przypadku dużych zbiorów danych.
null
w sekwencji Pattern
, który będzie służył jako symbol wieloznaczny. Jeśli napotkana zostanie wartość null
, wszystkie kolejne wpisy w sekwencji zostaną zignorowane. Gdy kod pobierania napotka null
Pattern
, najpierw zaczeka, aby sprawdzić, czy bardziej szczegółowy wpis pasuje do sekwencji. Jeśli tak się stanie, ten bardziej szczegółowy wpis będzie kontynuowany, nawet jeśli później nie będzie pasujący. Jeśli nie pasuje żaden bardziej szczegółowy wpis, dopasowanie z symbolem wieloznacznym doda wszystkie pozostałe String
do listy przechwyceń (jeśli jest włączone) i zwróci wartość powiązaną z symbolem wieloznacznym. Krótka próbka funkcjonalności symboli wieloznacznych: 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 [[], []]
Streszczenie
Konstruktorzy publiczni | |
---|---|
RegexTrie () |
Metody publiczne | |
---|---|
void | clear () |
V | put (V value, Pattern... patterns) Dodaj wpis do tria. |
V | retrieve (String... strings) Pobierz wartość z trie, dopasowując podaną sekwencję |
V | retrieve ( captures, String... strings) retrieve ( captures, String... strings) Pobierz wartość z trie, dopasowując podaną sekwencję |
String | toString () |
Konstruktorzy publiczni
RegexTrie
public RegexTrie ()
Metody publiczne
jasne
public void clear ()
umieścić
public V put (V value, Pattern... patterns)
Dodaj wpis do tria.
Parametry | |
---|---|
value | V : Wartość do ustawienia |
patterns | Pattern : Sekwencja ERROR(/Pattern) , które muszą zostać dopasowane sekwencyjnie, aby pobrać powiązaną value |
Zwroty | |
---|---|
V |
odzyskać
public V retrieve (String... strings)
Pobierz wartość z trie, dopasowując podaną sekwencję String
do sekwencji ERROR(/Pattern)
zapisanej w trie.
Parametry | |
---|---|
strings | String : Sekwencja String do dopasowania |
Zwroty | |
---|---|
V | Powiązana wartość lub null , jeśli nie znaleziono żadnej wartości |
odzyskać
public V retrieve (captures, String... strings)
Pobierz wartość z trie, dopasowując podaną sekwencję String
do sekwencji ERROR(/Pattern)
zapisanej w trie. Ta wersja metody zwraca również ERROR(/List)
grup przechwytywania dla każdego dopasowanego ERROR(/Pattern)
.
Pattern
w próbie. Dla każdego poziomu przechowywana będzie lista grup przechwytywania. Jeżeli na danym poziomie nie było żadnych zapisów, zostanie zapisana pusta lista. Należy pamiętać, że przed rozpoczęciem pobierania captures
zostaną oznaczone jako ERROR(/List#clear())
. Ponadto, jeśli pobieranie nie powiedzie się po częściowej sekwencji dopasowań, captures
nadal będą odzwierciedlać grupy przechwytywania z częściowego dopasowania.Parametry | |
---|---|
captures | List<List<String>> przez który będą zwracane grupy przechwytywania. |
strings | String : Sekwencja String do dopasowania |
Zwroty | |
---|---|
V | Powiązana wartość lub null , jeśli nie znaleziono żadnej wartości |
doString
public String toString ()
Zwroty | |
---|---|
String |