RegexTrie
public
class
RegexTrie
extends Object
| java.lang.Object | |
| ↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie는 키의 각 Pattern인 트라이입니다. 따라서 전체 List<String>이 아닌 List<Pattern>입니다. retrieve(String...) 메서드는 표준 트라이에서와 같이 점별 동등성을 확인하는 대신 Pattern와 점별로 일치합니다. 따라서 대규모 데이터 세트에서는 성능이 저하될 수 있습니다.
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()
|
|
공개 메서드 | |
|---|---|
void
|
clear()
|
V
|
put(V value, String... regexen)
이 도우미 메서드는 정규 표현식 목록을 |
V
|
put(V value, Pattern... patterns)
트라이에 항목을 추가합니다. |
V
|
retrieve(String... strings)
|
V
|
retrieve(List<List<String>> captures, String... strings)
|
String
|
toString()
|
공개 생성자
RegexTrie
public RegexTrie ()
공개 메서드
지우기
public void clear ()
put
public V put (V value,
String... regexen)이 도우미 메서드는 정규 표현식 목록을 String로 가져와 즉시 컴파일한 후 후속 Pattern를 트라이에 추가합니다.
| 매개변수 | |
|---|---|
value |
V: 설정할 값 |
regexen |
String: 연결된 value를 가져오기 위해 순차적으로 일치해야 하는 정규 표현식 (String)의 시퀀스입니다. 각 문자열은 put(Object,Pattern...)를 호출하기 전에 Pattern로 컴파일됩니다. |
| 반환 | |
|---|---|
V |
|
put
public V put (V value,
Pattern... patterns)트라이에 항목을 추가합니다.
| 매개변수 | |
|---|---|
value |
V: 설정할 값 |
patterns |
Pattern: 연결된 value를 가져오기 위해 순차적으로 일치해야 하는 Pattern의 시퀀스 |
| 반환 | |
|---|---|
V |
|
retrieve
public V retrieve (String... strings)
제공된 String 시퀀스를 트라이에 저장된 Pattern 시퀀스와 일치시켜 트라이에서 값을 가져옵니다.
| 매개변수 | |
|---|---|
strings |
String: 일치시킬 String 시퀀스 |
| 반환 | |
|---|---|
V |
연결된 값 또는 값을 찾을 수 없는 경우 null |
retrieve
public V retrieve (List<List<String>> captures,
String... strings)제공된 String 시퀀스를 트라이에 저장된 Pattern 시퀀스와 일치시켜 트라이에서 값을 가져옵니다. 이 버전의 메서드는 일치된 각 Pattern의 캡처 그룹 List도 반환합니다.
외부 목록의 각 항목은 트라이의 Pattern 한 수준에 해당합니다.
각 수준에 대해 캡처 그룹 목록이 저장됩니다. 특정 수준에 캡처가 없으면 빈 목록이 저장됩니다.
captures은 가져오기가 시작되기 전에 List.clear()됩니다.
또한 부분 일치 시퀀스 후에 가져오기에 실패하더라도 captures는 부분 일치에서 캡처 그룹을 계속 반영합니다.
| 매개변수 | |
|---|---|
captures |
List: 캡처 그룹이 반환되는 List<List<String>>입니다. |
strings |
String: 일치시킬 String 시퀀스 |
| 반환 | |
|---|---|
V |
연결된 값 또는 값을 찾을 수 없는 경우 null |
toString
public String toString ()
| 반환 | |
|---|---|
String |
|