RegexTrie

public class RegexTrie
extends Object

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


RegexTrie, anahtarın her saklanan segmentinin normal ifade olduğu bir ERROR(/Pattern) ağacıdır. Bu nedenle, standart bir ağaçta olduğu gibi depolanan tam anahtar List&lt;String&gt; yerine List&lt;Pattern&gt; olur. retrieve(String) yönteminin, standart bir trie'deki gibi puansal eşitlik açısından kontrol etmek yerine, Pattern ile puansal olarak eşleştirileceğini unutmayın. Bu nedenle, büyük veri kümelerinde düşük performans gösterebilir.

Joker karakter olarak kullanmak için Pattern dizisinde null girişi de kullanılabilir. null ile karşılaşılırsa sırada takip eden tüm girişler yoksayılır. Alma kodu bir null Pattern ile karşılaştığında öncelikle daha belirli bir girişin diziyle eşleşip eşleşmediğini görmek için bekler. Bu durumda, daha spesifik giriş, daha sonra eşleşmese bile devam eder.

Daha spesifik bir giriş eşleşmezse joker karakter eşleşmesi, kalan tüm String karakterlerini yakalama listesine (etkinse) ekler ve joker karakterle ilişkili değeri döndürür.

Joker karakter işlevinin kısa bir örneği:

 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 [[], []]
 

Özet

Herkese açık kurucular

RegexTrie()

Herkese açık yöntemler

void clear()
V put(V value, Pattern... patterns)

Ağaca bir giriş ekleyin.

V retrieve(String... strings)

Sağlanan String sırasını, trrie'de depolanan ERROR(/Pattern) dizisiyle eşleştirerek trrie'den bir değer getirin.

V retrieve( captures, String... strings)

Sağlanan String dizisini, ağaçta depolanan ERROR(/Pattern) dizisiyle eşleştirerek ağaçtan bir değer alın.

String toString()

Herkese açık kurucular

Normal İfade

public RegexTrie ()

Herkese açık yöntemler

temizle

public void clear ()

bağla

public V put (V value, 
                Pattern... patterns)

Ağaca bir giriş ekleyin.

Parametreler
value V: Ayarlanacak değer

patterns Pattern: İlişkili value öğesini almak için sırayla eşleştirilmesi gereken ERROR(/Pattern) dizisi

İlerlemeler
V

geri al

public V retrieve (String... strings)

Sağlanan String dizisini, ağaçta depolanan ERROR(/Pattern) dizisiyle eşleştirerek ağaçtan bir değer alın.

Parametreler
strings String: Eşlenecek String dizisi

İlerlemeler
V İlişkili değer veya değer bulunamadıysa null

geri al

public V retrieve ( captures, 
                String... strings)

Sağlanan String dizisini, ağaçta depolanan ERROR(/Pattern) dizisiyle eşleştirerek ağaçtan bir değer alın. Yöntemin bu sürümü, eşleşen her ERROR(/Pattern) için bir ERROR(/List) yakalama grubu da döndürür.

Dış Listedeki her giriş, denemedeki bir Pattern düzeyine karşılık gelir. Her düzey için yakalama gruplarının listesi depolanır. Belirli bir düzeyde yakalama yapılmadıysa boş bir liste saklanır.

Getirme işlemi başlamadan önce captures değerinin ERROR(/List#clear()) olacağını unutmayın. Ayrıca, kısmi bir eşleşme dizisi sonrasında alma işlemi başarısız olursa captures, kısmi eşleşmedeki yakalama gruplarını yansıtmaya devam eder.

Parametreler
captures : Yakalama gruplarının döndürüleceği bir List<List<String>>.

strings String: Eşleştirilecek String dizisi

İlerlemeler
V İlişkili değer veya değer bulunamadıysa null

toString

public String toString ()

İlerlemeler
String