RegexTrie

public class RegexTrie
extends Object

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


RegexTrie هو ثلاثي حيث كل مخزن جزء المفتاح هو ERROR(/Pattern) . وهكذا ، فإن كامل مخزن المفتاح هو List&lt;Pattern&gt; بدلاً من List&lt;String&gt; كما هو الحال في trie القياسي. لاحظ أن طريقة retrieve(String) ستتم مطابقتها بشكل نقطي مع Pattern s ، بدلاً من التحقق من المساواة النقطية كما هو الحال في trie القياسي. لهذا السبب ، قد يكون أداؤه ضعيفًا لمجموعات البيانات الكبيرة.

يمكن للمرء أيضًا استخدام إدخال null في تسلسل Pattern ليكون بمثابة حرف بدل. إذا تم العثور على null ، فسيتم تجاهل جميع الإدخالات اللاحقة في التسلسل. عندما يواجه رمز الاسترداد Pattern null ، سينتظر أولاً لمعرفة ما إذا كان الإدخال الأكثر تحديدًا يطابق التسلسل. إذا حدث ذلك ، فسيستمر هذا الإدخال الأكثر تحديدًا ، حتى لو فشل لاحقًا في التطابق.

إذا لم يكن هناك إدخال أكثر تحديدًا ، فستضيف مطابقة أحرف البدل جميع String المتبقية إلى قائمة الالتقاطات (إذا تم تمكينها) وستعيد القيمة المرتبطة بحرف البدل.

عينة قصيرة من وظيفة أحرف البدل:

 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)

قم بإحضار قيمة من المثلث ، عن طريق مطابقة التسلسل المقدم من ERROR(/String) s مع سلسلة من ERROR(/Pattern) s مخزنة في trie.

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

قم بإحضار قيمة من المثلث ، عن طريق مطابقة التسلسل المقدم من ERROR(/String) s مع سلسلة من ERROR(/Pattern) s مخزنة في trie.

String toString ()

المنشأت العامة

RegexTrie

public RegexTrie ()

الأساليب العامة

واضح

public void clear ()

يضع

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

إضافة إدخال إلى الثلاثي.

حدود
value V : القيمة المطلوب تعيينها

patterns Pattern : تسلسل ERROR(/Pattern) التي يجب مطابقتها بشكل تسلسلي لاسترداد value المرتبطة

عائدات
V

يسترد

public V retrieve (String... strings)

قم بإحضار قيمة من المثلث ، عن طريق مطابقة التسلسل المقدم من ERROR(/String) s مع سلسلة من ERROR(/Pattern) s مخزنة في trie.

حدود
strings String : تسلسل من ERROR(/String) للمطابقة

عائدات
V القيمة المرتبطة ، أو القيمة null إذا لم يتم العثور على قيمة

يسترد

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

قم بإحضار قيمة من المثلث ، عن طريق مطابقة التسلسل المقدم من ERROR(/String) s مع سلسلة من ERROR(/Pattern) s مخزنة في trie. يقوم هذا الإصدار من الأسلوب أيضًا بإرجاع ERROR(/List) لمجموعات الالتقاط لكل ERROR(/Pattern) تمت مطابقته.

يتوافق كل إدخال في القائمة الخارجية مع مستوى واحد من Pattern في المثلث. لكل مستوى ، سيتم تخزين قائمة مجموعات الالتقاط. إذا لم يكن هناك أي التقاط لمستوى معين ، فسيتم تخزين قائمة فارغة.

لاحظ أن captures ستكون ERROR(/List#clear()) ed قبل بدء الاسترداد. أيضًا ، إذا فشل الاسترداد بعد تسلسل جزئي للمطابقات ، فستظل captures تعكس مجموعات الالتقاط من التطابق الجزئي.

حدود
captures : List<List<String>> يتم من خلالها إرجاع مجموعات الالتقاط.

strings String : تسلسل من ERROR(/String) للمطابقة

عائدات
V القيمة المرتبطة ، أو القيمة null إذا لم يتم العثور على قيمة

إلى سلسلة

public String toString ()

عائدات
String