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 ERROR(/Pattern) ekspresi reguler. Dengan demikian, kunci disimpan lengkap adalah List&lt;Pattern&gt;, bukan List&lt;String&gt; 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 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 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