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; كما هو الحال في شجرة البحث الثلاثية العادية. يُرجى العِلم أنّه سيتم مطابقة retrieve(String) بطريقة نقطية مع Pattern بدلاً من التحقّق من التساوي من حيث النقاط كما هو الحال في شجرة البحث الثلاثية العادية. ولهذا السبب، قد يؤدي إلى أداء ضعيف مع مجموعات البيانات الكبيرة.

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

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

إليك نموذج قصير لوظيفة أحرف البدل:

 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)

استرجاع قيمة من شجرة البحث الثلاثية، من خلال مطابقة التسلسل المقدَّم من String مع تسلسل من ERROR(/Pattern) المخزّن في شجرة البحث الثلاثية

V retrieve( captures, String... strings)

استرجاع قيمة من شجرة البحث الثلاثية، من خلال مطابقة التسلسل المقدَّم من String مع تسلسل من ERROR(/Pattern) المخزّن في شجرة البحث الثلاثية

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: تسلسل Strings لمطابقته

المرتجعات
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: تسلسل Strings لمطابقته

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

toString

public String toString ()

المرتجعات
String