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، سيتم تجاهل جميع الإدخالات اللاحقة في التسلسل. عندما يصادف رمز الاسترجاع عنصر 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)

استرجاع قيمة من البنية الثلاثية، من خلال مطابقة التسلسل المقدَّم من 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)

أضف إدخالاً إلى trie.

المعلمات
value V: القيمة المطلوب ضبطها

patterns Pattern: تسلسل ERROR(/Pattern) الذي يجب مطابقته بشكل تسلسلي لاسترداد 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: تسلسل من String لمطابقته

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

toString

public String toString ()

المرتجعات
String