RegexTrie

public class RegexTrie
extends Object

java.lang.Object
   ↳ com.android.tradefed.util.RegexTrie<V>


RegexTrie adalah trie dengan setiap segmen kunci yang disimpan adalah ekspresi reguler ERROR(/Pattern). Dengan demikian, kunci yang disimpan yang lengkap adalah List&lt;Pattern&gt;, bukan dari List&lt;String&gt; 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 String yang diberikan dengan urutan ERROR(/Pattern) yang disimpan dalam trie.

V retrieve( captures, String... strings)

Ambil nilai dari trie, dengan mencocokkan urutan String yang diberikan dengan urutan ERROR(/Pattern) yang disimpan dalam trie.

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