RegexTrie
public
class
RegexTrie
extends Object
| java.lang.Object | |
| ↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie は、キーの各ERROR(/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, Pattern... patterns)
トライにエントリを追加します。 |
V
|
retrieve(String... strings)
指定された |
V
|
retrieve(
指定された |
String
|
toString()
|
パブリック コンストラクタ
RegexTrie
public RegexTrie ()
パブリック メソッド
消去
public void clear ()
置く
public V put (V value,
Pattern... patterns)トライにエントリを追加します。
| パラメータ | |
|---|---|
value |
V: 設定する値 |
patterns |
Pattern: 関連する value を取得するために順番に一致させる必要がある ERROR(/Pattern) のシーケンス |
| 戻り値 | |
|---|---|
V |
|
取得
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 の 1 つのレベルに対応します。レベルごとに、キャプチャ グループのリストが保存されます。特定のレベルでキャプチャがない場合、空のリストが保存されます。
取得が開始される前に captures は ERROR(/List#clear()) されます。また、部分一致のシーケンスの後に取得が失敗した場合でも、captures には部分一致のキャプチャ グループが反映されます。
| パラメータ | |
|---|---|
captures |
: キャプチャ グループが返される List<List<String>>。 |
strings |
String: 一致する String のシーケンス |
| 戻り値 | |
|---|---|
V |
関連付けられた値。値が見つからなかった場合は null |
toString
public String toString ()
| 戻り値 | |
|---|---|
String |
|