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)
. Dengan demikian, kunci yang List<Pattern>
, bukan
dari List<String>
seperti pada trie standar. Perhatikan bahwa
Metode retrieve(String)
akan dicocokkan secara poin dengan Pattern
,
alih-alih memeriksa kesetaraan poin
seperti dalam {i>standard trie<i}. Karena itu, mungkin
berperforma buruk untuk {i>dataset<i} 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 Pattern
null
, kode tersebut akan menunggu terlebih dahulu untuk mengetahui apakah
entri yang lebih spesifik
sesuai dengan urutan. Jika salah satunya, entri yang
lebih spesifik itu akan dilanjutkan,
bahkan jika selanjutnya
tersebut gagal.
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.
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
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 yang 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 gambar untuk setiap ERROR(/Pattern)
yang cocok.
Setiap entri di Daftar luar sesuai dengan satu level Pattern
di trie.
Untuk setiap level, daftar grup tangkapan akan disimpan. Jika tidak ada tangkapan
untuk tingkat tertentu, daftar kosong akan disimpan.
Perhatikan bahwa captures
akan ERROR(/List#clear())
ed sebelum pengambilan dimulai.
Selain itu, jika pengambilan gagal setelah urutan kecocokan parsial, captures
akan
masih mencerminkan grup tangkapan dari kecocokan parsial.
Parameter | |
---|---|
captures |
: List<List<String>> yang akan digunakan untuk menampilkan grup tangkapan. |
strings |
String : Urutan String yang akan dicocokkan |
Hasil | |
---|---|
V |
Nilai yang terkait, atau null jika tidak ada nilai yang ditemukan |
toString
public String toString ()
Hasil | |
---|---|
String |