RegexTrie
public
class
RegexTrie
extends Object
java.lang.Object | |
↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie adalah trie dengan setiap segmen kunci yang ERROR(/Pattern)
ekspresi reguler. Dengan demikian, kunci List<Pattern>
, bukan
List<String>
seperti dalam trie standar. Perhatikan bahwa
metode retrieve(String)
akan dicocokkan secara titik per titik dengan Pattern
,
bukan diperiksa untuk persamaan titik per titik seperti dalam 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 menemukan Pattern
null
, kode pengambilan akan menunggu terlebih dahulu untuk mengetahui apakah
entri yang lebih spesifik cocok dengan urutan. Jika ada, entri yang lebih spesifik tersebut akan dilanjutkan,
meskipun kemudian gagal cocok.
Jika tidak ada kecocokan entri yang lebih spesifik, pencocokan karakter pengganti akan menambahkan semua String
yang tersisa ke daftar tangkapan (jika diaktifkan) dan menampilkan nilai yang terkait dengan karakter pengganti tersebut.
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, Pattern... patterns)
Tambahkan entri ke trie. |
V
|
retrieve(String... strings)
Ambil nilai dari trie, dengan mencocokkan urutan |
V
|
retrieve(
Ambil nilai dari trie, dengan mencocokkan urutan |
String
|
toString()
|
Konstruktor publik
RegexTrie
public RegexTrie ()
Metode publik
hapus
public void clear ()
sambungkan
public V put (V value, Pattern... patterns)
Tambahkan entri ke trie.
Parameter | |
---|---|
value |
V : Nilai yang akan ditetapkan |
patterns |
Pattern : Urutan ERROR(/Pattern) yang harus dicocokkan secara berurutan untuk mengambil value terkait |
Hasil | |
---|---|
V |
mengambil
public V retrieve (String... strings)
Ambil nilai dari trie, dengan mencocokkan urutan String
yang diberikan dengan
urutan ERROR(/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 |
mengambil
public V retrieve (captures, String... strings)
Ambil nilai dari trie, dengan mencocokkan urutan String
yang diberikan dengan
urutan ERROR(/Pattern)
yang disimpan dalam trie. Versi metode ini juga menampilkan
ERROR(/List)
grup pengambilan untuk setiap ERROR(/Pattern)
yang cocok.
Setiap entri dalam Daftar luar sesuai dengan satu level Pattern
dalam trie.
Untuk setiap level, daftar grup pengambilan akan disimpan. Jika tidak ada rekaman
untuk level tertentu, daftar kosong akan disimpan.
Perhatikan bahwa captures
akan di-ERROR(/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<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 |