RegexTrie
public
class
RegexTrie
extends Object
| java.lang.Object | |
| ↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie adalah trie yang setiap segmen Pattern. Dengan demikian, kunci List<Pattern>, bukan List<String> seperti pada trie standar. Perhatikan bahwa metode
retrieve(String...) akan dicocokkan secara pointwise dengan Pattern,
bukan diperiksa kesamaan pointwise-nya seperti pada trie standar. Oleh karena itu, performanya mungkin buruk untuk set data besar.
Anda juga dapat menggunakan entri null dalam urutan Pattern untuk berfungsi sebagai karakter pengganti. Jika
null ditemukan, semua entri berikutnya dalam urutan akan diabaikan.
Saat kode pengambilan menemukan null Pattern, kode tersebut akan menunggu terlebih dahulu untuk melihat apakah entri yang lebih spesifik cocok dengan urutannya. Jika ada, entri yang lebih spesifik tersebut akan dilanjutkan,
meskipun kemudian gagal dicocokkan.
Jika tidak ada entri yang lebih spesifik yang cocok, kecocokan karakter pengganti akan menambahkan semua String yang tersisa ke daftar pengambilan (jika diaktifkan) dan menampilkan nilai yang terkait dengan karakter pengganti.
Contoh singkat fungsi karakter pengganti:
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 [[], []]
Ringkasan
Konstruktor publik | |
|---|---|
RegexTrie()
|
|
Metode publik | |
|---|---|
void
|
clear()
|
V
|
put(V value, String... regexen)
Metode helper ini mengambil daftar ekspresi reguler sebagai |
V
|
put(V value, Pattern... patterns)
Menambahkan entri ke trie. |
V
|
retrieve(String... strings)
Mengambil nilai dari trie, dengan mencocokkan urutan |
V
|
retrieve(List<List<String>> captures, String... strings)
Mengambil nilai dari trie, dengan mencocokkan urutan |
String
|
toString()
|
Konstruktor publik
RegexTrie
public RegexTrie ()
Metode publik
hapus
public void clear ()
put
public V put (V value,
String... regexen)Metode helper ini mengambil daftar ekspresi reguler sebagai String dan mengompilasinya
secara langsung sebelum menambahkan Pattern berikutnya ke trie
| Parameter | |
|---|---|
value |
V: Nilai yang akan ditetapkan |
regexen |
String: Urutan ekspresi reguler (sebagai String) yang harus
dicocokkan secara berurutan untuk mengambil value terkait. Setiap String akan
dikompilasi sebagai Pattern sebelum memanggil put(Object,Pattern...). |
| Hasil | |
|---|---|
V |
|
put
public V put (V value,
Pattern... patterns)Menambahkan entri ke trie.
| Parameter | |
|---|---|
value |
V: Nilai yang akan ditetapkan |
patterns |
Pattern: Urutan Pattern yang harus dicocokkan secara berurutan untuk
mengambil value terkait |
| Hasil | |
|---|---|
V |
|
ambil
public V retrieve (String... strings)
Mengambil nilai dari trie, dengan mencocokkan urutan String yang diberikan dengan urutan Pattern yang disimpan dalam trie.
| Parameter | |
|---|---|
strings |
String: Urutan String yang akan dicocokkan |
| Hasil | |
|---|---|
V |
Nilai terkait, atau null jika tidak ada nilai yang ditemukan |
ambil
public V retrieve (List<List<String>> captures,
String... strings)Mengambil nilai dari trie, dengan mencocokkan urutan String yang diberikan dengan urutan Pattern yang disimpan dalam trie. Versi metode ini juga menampilkan
List grup pengambilan untuk setiap Pattern yang cocok.
Setiap entri dalam List luar sesuai dengan satu level Pattern dalam trie.
Untuk setiap level, daftar grup pengambilan akan disimpan. Jika tidak ada rekaman untuk tingkat tertentu, daftar kosong akan disimpan.
Perhatikan bahwa captures akan di-List.clear() sebelum pengambilan dimulai.
Selain itu, jika pengambilan gagal setelah urutan kecocokan parsial, captures akan
tetap mencerminkan grup tangkapan dari kecocokan parsial.
| Parameter | |
|---|---|
captures |
List: List<List<String>> yang akan menampilkan grup pengambilan. |
strings |
String: Urutan String yang akan dicocokkan |
| Hasil | |
|---|---|
V |
Nilai terkait, atau null jika tidak ada nilai yang ditemukan |
toString
public String toString ()
| Hasil | |
|---|---|
String |
|