RegexTrie
public
class
RegexTrie
extends Object
java.lang.Object | |
↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie é uma trie em que cada segmento ERROR(/Pattern)
Portanto, a chave List<Pattern>
,
do que um List<String>
, como em uma trie padrão. Observe que o
O método retrieve(String)
terá correspondência por ponto em relação aos Pattern
s,
em vez de verificada quanto à igualdade de pontos, como em uma trie padrão. Por isso, pode
têm um desempenho ruim
em conjuntos de dados grandes.
Também é possível usar uma entrada null
na sequência Pattern
para servir como caractere curinga. Se
um null
for encontrado, todas as entradas subsequentes na sequência serão ignoradas.
Quando o código de recuperação encontra um null
Pattern
, ele primeiro espera para ver se uma
uma entrada mais específica corresponde à sequência. Se alguém tiver, essa entrada mais específica prosseguirá,
mesmo que haja uma falha de correspondência posteriormente.
Se nenhuma entrada mais específica corresponder, a correspondência de caractere curinga vai adicionar todos os String
s restantes.
à lista de capturas (se ativadas) e retorna o valor associado ao curinga.
Um breve exemplo da funcionalidade de caractere curinga:
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 [[], []]
Resumo
Construtores públicos | |
---|---|
RegexTrie()
|
Métodos públicos | |
---|---|
void
|
clear()
|
V
|
put(V value, Pattern... patterns)
Adicione uma entrada à trie. |
V
|
retrieve(String... strings)
Busque um valor na trie, fazendo a correspondência da sequência de |
V
|
retrieve(
Busque um valor na trie, fazendo a correspondência da sequência de |
String
|
toString()
|
Construtores públicos
RegexTrie
public RegexTrie ()
Métodos públicos
limpar
public void clear ()
put
public V put (V value, Pattern... patterns)
Adicione uma entrada à trie.
Parâmetros | |
---|---|
value |
V : o valor a ser definido |
patterns |
Pattern : a sequência de ERROR(/Pattern) s que precisam ter correspondência sequencial com
recuperar o value associado |
Retorna | |
---|---|
V |
recuperar
public V retrieve (String... strings)
Busque um valor na trie, fazendo a correspondência da sequência de String
s fornecida com um
sequência de ERROR(/Pattern)
s armazenada na trie.
Parâmetros | |
---|---|
strings |
String : uma sequência de String s para correspondência |
Retorna | |
---|---|
V |
O valor associado ou null se nenhum valor for encontrado |
recuperar
public V retrieve (captures, String... strings)
Busque um valor na trie, fazendo a correspondência da sequência de String
s fornecida com um
sequência de ERROR(/Pattern)
s armazenada na trie. Essa versão do método também retorna
uma ERROR(/List)
de grupos de captura para cada ERROR(/Pattern)
correspondente.
Cada entrada na lista externa corresponde a um nível de Pattern
na trie.
A lista de grupos de captura será armazenada para cada nível. Se não houver capturas
para um determinado nível, uma lista vazia será armazenada.
captures
vai receber um ERROR(/List#clear())
antes do início da recuperação.
Além disso, se a recuperação falhar após uma sequência parcial de correspondências, captures
vai
ainda refletem os grupos de captura da correspondência parcial.
Parâmetros | |
---|---|
captures |
: um List<List<String>> em que os grupos de captura serão retornados. |
strings |
String : uma sequência de String s para correspondência |
Retorna | |
---|---|
V |
O valor associado ou null se nenhum valor for encontrado |
toString
public String toString ()
Retorna | |
---|---|
String |