RegexTrie
public class RegexTrie
extends Object
java.lang.অবজেক্ট |
↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie একটি trie যেখানে প্রতিটি সংরক্ষিত কীটির সেগমেন্ট হল একটি রেজেক্স ERROR(/Pattern)
। এইভাবে, পূর্ণ সংরক্ষিত কী হল একটি List<Pattern>
একটি List<String>
একটি আদর্শ চেষ্টা হিসাবে. মনে রাখবেন যে retrieve(String)
পদ্ধতিটি স্ট্যান্ডার্ড ট্রাই-এর মতো পয়েন্টওয়াইজ সমতার জন্য চেক করার পরিবর্তে Pattern
সাথে পয়েন্টওয়াইজ মিলে যাবে। এই কারণে, এটি বড় ডেটাসেটের জন্য খারাপ কাজ করতে পারে।
একটি ওয়াইল্ডকার্ড হিসাবে পরিবেশন করতে
Pattern
সিকোয়েন্সে একটি
null
এন্ট্রি ব্যবহার করতে পারেন। যদি একটি
null
সম্মুখীন হয়, অনুক্রমের সমস্ত পরবর্তী এন্ট্রি উপেক্ষা করা হবে। যখন পুনরুদ্ধার কোড একটি
null
Pattern
সম্মুখীন হয়, তখন এটি প্রথমে অপেক্ষা করবে যে একটি আরও-নির্দিষ্ট এন্ট্রি অনুক্রমের সাথে মেলে কিনা। যদি কেউ তা করে, সেই আরও-নির্দিষ্ট এন্ট্রি এগিয়ে যাবে, এমনকি যদি এটি পরবর্তীতে মিলতে ব্যর্থ হয়।
যদি আর কোনো নির্দিষ্ট এন্ট্রি মেলে না, তাহলে ওয়াইল্ডকার্ড ম্যাচ বাকি সব
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 [[], []]
সারাংশ
পাবলিক পদ্ধতি |
---|
void | clear () |
V | put (V value, Pattern... patterns) ট্রাইতে একটি এন্ট্রি যোগ করুন। |
V | retrieve (String... strings) ট্রাই থেকে একটি মান আনুন, String s-এর প্রদত্ত অনুক্রমের সাথে ট্রাই-এ সংরক্ষিত ERROR(/Pattern) s-এর অনুক্রমের সাথে মিল করে। |
V | retrieve ( captures, String... strings) retrieve ( captures, String... strings) ট্রাই থেকে একটি মান আনুন, String s-এর প্রদত্ত অনুক্রমের সাথে ট্রাই-এ সংরক্ষিত ERROR(/Pattern) s-এর অনুক্রমের সাথে মিল করে। |
String | toString () |
পাবলিক কনস্ট্রাক্টর
RegexTrie
public RegexTrie ()
পাবলিক পদ্ধতি
পরিষ্কার
public void clear ()
রাখা
public V put (V value,
Pattern... patterns)
ট্রাইতে একটি এন্ট্রি যোগ করুন।
পরামিতি |
---|
value | V : সেট করার মান |
patterns | Pattern : ERROR(/Pattern) এর ক্রম যা সংশ্লিষ্ট value পুনরুদ্ধার করার জন্য ক্রমানুসারে মেলাতে হবে |
পুনরুদ্ধার
public V retrieve (String... strings)
ট্রাই থেকে একটি মান আনুন, String
s-এর প্রদত্ত অনুক্রমের সাথে ট্রাই-এ সংরক্ষিত ERROR(/Pattern)
s-এর অনুক্রমের সাথে মিল করে।
পরামিতি |
---|
strings | String : String এর একটি ক্রম যা মিলবে |
রিটার্নস |
---|
V | সংশ্লিষ্ট মান, বা null যদি কোনো মান পাওয়া না যায় |
পুনরুদ্ধার
public V retrieve ( captures,
String... strings)
ট্রাই থেকে একটি মান আনুন, String
s-এর প্রদত্ত অনুক্রমের সাথে ট্রাই-এ সংরক্ষিত ERROR(/Pattern)
s-এর অনুক্রমের সাথে মিল করে। পদ্ধতির এই সংস্করণটি মিলে যাওয়া প্রতিটি ERROR(/Pattern)
এর জন্য ক্যাপচার গ্রুপের একটি ERROR(/List)
প্রদান করে।
বাইরের তালিকার প্রতিটি এন্ট্রি ট্রাই-এর
Pattern
এক স্তরের সাথে মিলে যায়। প্রতিটি স্তরের জন্য, ক্যাপচার গ্রুপের তালিকা সংরক্ষণ করা হবে। একটি নির্দিষ্ট স্তরের জন্য কোন ক্যাপচার না থাকলে, একটি খালি তালিকা সংরক্ষণ করা হবে।
নোট করুন যে পুনরুদ্ধার শুরু হওয়ার আগে
captures
ERROR(/List#clear())
ed হবে৷ এছাড়াও, ম্যাচের আংশিক সিকোয়েন্সের পরে পুনরুদ্ধার ব্যর্থ হলে,
captures
এখনও আংশিক ম্যাচ থেকে ক্যাপচার গ্রুপগুলিকে প্রতিফলিত করবে।
পরামিতি |
---|
captures | : একটি List<List<String>> যার মাধ্যমে ক্যাপচার গ্রুপগুলি ফেরত দেওয়া হবে। |
strings | String : String এর একটি ক্রম যা মিলবে |
রিটার্নস |
---|
V | সংশ্লিষ্ট মান, বা null যদি কোনো মান পাওয়া না যায় |
toString
public String toString ()