RegexTrie
public
class
RegexTrie
extends Object
java.lang.Nesne | |
↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie, anahtarın her ERROR(/Pattern)
ağacıdır. Bu nedenle, standart bir ağaçta olduğu gibi List<String>
yerine List<Pattern>
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 |
V
|
retrieve(
Sağlanan |
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 |