RegexTrie
public class RegexTrie
extends Object
java.lang.객체 |
↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie는 각 저장된 키의 세그먼트는 정규식 ERROR(/Pattern)
입니다. 따라서 전체 저장된 키는 List<Pattern>
List<String>
표준 시도에서와 같이. retrieve(String)
메서드는 표준 트라이에서와 같이 점별 동등성을 확인하는 대신 Pattern
s에 대해 점별 일치를 수행합니다. 이로 인해 대규모 데이터 세트에 대해 성능이 저하될 수 있습니다.
Pattern
시퀀스에서
null
항목을 와일드카드로 사용할 수도 있습니다.
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
public RegexTrie ()
공개 방법
놓다
public V put (V value,
Pattern... patterns)
시도에 항목을 추가합니다.
매개변수 |
---|
value | V : 설정할 값 |
patterns | Pattern : 연관된 value 검색하기 위해 순차적으로 일치해야 하는 ERROR(/Pattern) 의 시퀀스 |
검색하다
public V retrieve (String... strings)
제공된 String
시퀀스를 트리에 저장된 ERROR(/Pattern)
시퀀스와 일치시켜 트리에서 값을 가져옵니다.
매개변수 |
---|
strings | String : 일치시킬 String 의 시퀀스 |
보고 |
---|
V | 연결된 값 또는 값이 없으면 null |
검색하다
public V retrieve ( captures,
String... strings)
제공된 String
시퀀스를 트리에 저장된 ERROR(/Pattern)
시퀀스와 일치시켜 트리에서 값을 가져옵니다. 이 버전의 메서드는 일치하는 각 ERROR(/Pattern)
에 대한 캡처 그룹의 ERROR(/List)
도 반환합니다.
외부 목록의 각 항목은 트리에서
Pattern
의 한 수준에 해당합니다. 각 수준에 대해 캡처 그룹 목록이 저장됩니다. 특정 레벨에 대한 캡처가 없으면 빈 목록이 저장됩니다.
captures
는 검색이 시작되기 전에
ERROR(/List#clear())
가 됩니다. 또한 일부 일치 시퀀스 후에 검색이 실패하면
captures
여전히 부분 일치의 캡처 그룹을 반영합니다.
매개변수 |
---|
captures | : 캡처 그룹이 반환되는 List<List<String>> . |
strings | String : 일치시킬 String 의 시퀀스 |
보고 |
---|
V | 연결된 값 또는 값이 없으면 null |
toString
public String toString ()