RegexTrie
public
class
RegexTrie
extends Object
java.lang.Object | |
↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie هو بنية بحث ثنائية حيث يكون كل جزء ERROR(/Pattern)
. وبالتالي، يكون المفتاح List<Pattern>
بدلاً
من List<String>
كما هو الحال في شجرة البحث الثلاثية العادية. يُرجى العِلم أنّه سيتم مطابقة retrieve(String)
بطريقة نقطية مع Pattern
بدلاً من التحقّق من التساوي من حيث النقاط كما هو الحال في شجرة البحث الثلاثية العادية. ولهذا السبب، قد يؤدي
إلى أداء ضعيف مع مجموعات البيانات الكبيرة.
يمكن أيضًا استخدام إدخال null
في تسلسل Pattern
ليكون بمثابة حرف بدل. إذا
تم العثور على null
، سيتم تجاهل جميع الإدخالات اللاحقة في التسلسل.
عندما يصادف رمز الاسترداد null
Pattern
، سينتظر أولاً لمعرفة ما إذا كان هناك إدخال
أكثر تحديدًا يتطابق مع التسلسل. وفي حال توفّر إدخال واحد، سيتمّ استخدام هذا الإدخال الأكثر تحديدًا،
حتى إذا تعذّر تطابقه لاحقًا.
إذا لم تتطابق أي إدخالات أكثر تحديدًا، ستؤدي مطابقة العنصر النائب إلى إضافة كل String
s
المتبقية إلى قائمة عمليات الالتقاط (إذا كانت مفعّلة) وعرض القيمة المرتبطة بالعنصر النائب.
إليك نموذج قصير لوظيفة أحرف البدل:
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 [[], []]
ملخّص
وظائف الإنشاء العامة | |
---|---|
RegexTrie()
|
الطرق العامة | |
---|---|
void
|
clear()
|
V
|
put(V value, Pattern... patterns)
أضِف إدخالًا إلى البنية الثلاثية. |
V
|
retrieve(String... strings)
استرجاع قيمة من شجرة البحث الثلاثية، من خلال مطابقة التسلسل المقدَّم من |
V
|
retrieve(
استرجاع قيمة من شجرة البحث الثلاثية، من خلال مطابقة التسلسل المقدَّم من |
String
|
toString()
|
وظائف الإنشاء العامة
RegexTrie
public RegexTrie ()
الطرق العامة
محو
public void clear ()
وضع
public V put (V value, Pattern... patterns)
أضِف إدخالًا إلى البنية الثلاثية.
المعلمات | |
---|---|
value |
V : القيمة المطلوب ضبطها |
patterns |
Pattern : تسلسل ERROR(/Pattern) التي يجب مطابقتها تسلسليًا ل retrieving the associated value
|
المرتجعات | |
---|---|
V |
الاسترداد
public V retrieve (String... strings)
استرجاع قيمة من شجرة البحث الثلاثية، من خلال مطابقة التسلسل المقدَّم من String
مع
تسلسل من ERROR(/Pattern)
المخزّن في شجرة البحث الثلاثية
المعلمات | |
---|---|
strings |
String : تسلسل String s لمطابقته |
المرتجعات | |
---|---|
V |
القيمة المرتبطة، أو null إذا لم يتم العثور على أي قيمة
|
الاسترداد
public V retrieve (captures, String... strings)
استرجاع قيمة من شجرة البحث الثلاثية، من خلال مطابقة التسلسل المقدَّم من String
مع
تسلسل من ERROR(/Pattern)
المخزّن في شجرة البحث الثلاثية يعرض هذا الإصدار من الطريقة أيضًا
ERROR(/List)
من مجموعات الالتقاط لكل ERROR(/Pattern)
تمت مطابقته.
يتوافق كل إدخال في القائمة الخارجية مع مستوى واحد من Pattern
في شجرة البحث الثلاثية.
سيتم تخزين قائمة مجموعات الالتقاط لكل مستوى. إذا لم يتم تسجيل أيّ عمليات تسجيل
لمستوى معيّن، سيتم تخزين قائمة فارغة.
يُرجى العِلم أنّه سيتم ERROR(/List#clear())
captures
قبل بدء عملية الاسترداد.
بالإضافة إلى ذلك، إذا تعذّر الاسترداد بعد تسلسل جزئي من المطابقات، سيظلّ captures
يعرض مجموعات الالتقاط من المطابقة الجزئية.
المعلمات | |
---|---|
captures |
: List<List<String>> يتم من خلاله عرض مجموعات الالتقاط. |
strings |
String : تسلسل String s لمطابقته |
المرتجعات | |
---|---|
V |
القيمة المرتبطة، أو null إذا لم يتم العثور على أي قيمة
|
toString
public String toString ()
المرتجعات | |
---|---|
String |