RegexTrie
public class RegexTrie
extends Object
java.lang.Objek |
↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie adalah trie di mana masing-masing disimpan segmen kuncinya adalah regex ERROR(/Pattern)
. Dengan demikian, penuh disimpan kuncinya adalah List<Pattern>
bukan List<String>
seperti dalam percobaan standar. Perhatikan bahwa metode retrieve(String)
akan dicocokkan dengan Pointwise Pattern
s, daripada diperiksa persamaan pointwise seperti pada trie standar. Karena itu, kinerjanya mungkin buruk untuk kumpulan data besar.
Seseorang juga dapat menggunakan entri
null
dalam urutan
Pattern
untuk dijadikan sebagai wildcard. Jika
null
ditemui, semua entri berikutnya dalam urutan akan diabaikan. Saat kode pengambilan bertemu dengan
null
Pattern
, pertama-tama akan menunggu untuk melihat apakah entri yang lebih spesifik cocok dengan urutannya. Jika ya, entri yang lebih spesifik itu akan dilanjutkan, meskipun kemudian gagal untuk dicocokkan.
Jika tidak ada entri yang lebih spesifik yang cocok, pencocokan karakter pengganti akan menambahkan semua
String
yang tersisa ke daftar tangkapan (jika diaktifkan) dan mengembalikan nilai yang terkait dengan karakter pengganti.
Contoh singkat fungsi wildcard:
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
Metode publik |
---|
void | clear () |
V | put (V value, Pattern... patterns) Tambahkan entri ke percobaan. |
V | retrieve (String... strings) Ambil nilai dari trie, dengan mencocokkan urutan ERROR(/String) s yang disediakan dengan urutan ERROR(/Pattern) s yang disimpan di trie. |
V | retrieve ( captures, String... strings) retrieve ( captures, String... strings) Ambil nilai dari trie, dengan mencocokkan urutan ERROR(/String) s yang disediakan dengan urutan ERROR(/Pattern) s yang disimpan di trie. |
String | toString () |
Konstruktor publik
RegexTrie
public RegexTrie ()
Metode publik
jernih
public void clear ()
meletakkan
public V put (V value,
Pattern... patterns)
Tambahkan entri ke percobaan.
Parameter |
---|
value | V : Nilai yang akan ditetapkan |
patterns | Pattern : Urutan ERROR(/Pattern) s yang harus dicocokkan secara berurutan untuk mengambil value terkait |
mengambil
public V retrieve (String... strings)
Ambil nilai dari trie, dengan mencocokkan urutan ERROR(/String)
s yang disediakan dengan urutan ERROR(/Pattern)
s yang disimpan di trie.
Pengembalian |
---|
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 ERROR(/String)
s yang disediakan dengan urutan ERROR(/Pattern)
s yang disimpan di trie. Versi metode ini juga mengembalikan ERROR(/List)
dari capture groups 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 level tertentu, daftar kosong akan disimpan.
Perhatikan bahwa
captures
akan menjadi
ERROR(/List#clear())
ed sebelum pengambilan dimulai. Selain itu, jika pengambilan gagal setelah sebagian urutan kecocokan,
captures
akan tetap mencerminkan grup tangkapan dari sebagian kecocokan.
Parameter |
---|
captures | : List<List<String>> di mana grup tangkapan akan dikembalikan. |
strings | String : Urutan ERROR(/String) s untuk dicocokkan |
Pengembalian |
---|
V | Nilai terkait, atau null jika tidak ada nilai yang ditemukan |
keString
public String toString ()