रेगेक्सट्री
public class RegexTrie
extends Object
java.lang.ऑब्जेक्ट |
↳ | com.android.tradefed.util.RegexTree<V> |
रेगेक्सट्री एक ट्राई है जहां प्रत्येक संग्रहित कुंजी का खंड एक रेगेक्स 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 एस के दिए गए अनुक्रम को ट्राई में संग्रहीत ERROR(/Pattern) एस के अनुक्रम से मिलान करके, ट्राई से एक मान प्राप्त करें। |
V | retrieve ( captures, String... strings) retrieve ( captures, String... strings) String एस के दिए गए अनुक्रम को ट्राई में संग्रहीत ERROR(/Pattern) एस के अनुक्रम से मिलान करके, ट्राई से एक मान प्राप्त करें। |
String | toString () |
सार्वजनिक निर्माणकर्ता
रेगेक्सट्री
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
एस के दिए गए अनुक्रम को ट्राई में संग्रहीत ERROR(/Pattern)
एस के अनुक्रम से मिलान करके, ट्राई से एक मान प्राप्त करें।
पैरामीटर |
---|
strings | String : मिलान करने के लिए String का एक क्रम |
रिटर्न |
---|
V | यदि कोई मूल्य नहीं मिला तो संबंधित मूल्य, या null |
पुनः प्राप्त करना
public V retrieve ( captures,
String... strings)
String
एस के दिए गए अनुक्रम को ट्राई में संग्रहीत ERROR(/Pattern)
एस के अनुक्रम से मिलान करके, ट्राई से एक मान प्राप्त करें। विधि का यह संस्करण मिलान किए गए प्रत्येक ERROR(/Pattern)
के लिए कैप्चर समूहों की एक ERROR(/List)
भी लौटाता है।
बाहरी सूची में प्रत्येक प्रविष्टि त्रि में
Pattern
के एक स्तर से मेल खाती है। प्रत्येक स्तर के लिए, कैप्चर समूहों की सूची संग्रहीत की जाएगी। यदि किसी विशेष स्तर के लिए कोई कैप्चर नहीं थे, तो एक खाली सूची संग्रहीत की जाएगी।
ध्यान दें कि पुनर्प्राप्ति शुरू होने से पहले
captures
ERROR(/List#clear())
एड होंगे। इसके अलावा, यदि मिलानों के आंशिक अनुक्रम के बाद पुनर्प्राप्ति विफल हो जाती है, तो
captures
अभी भी आंशिक मिलान से कैप्चर समूहों को प्रतिबिंबित करेगा।
पैरामीटर |
---|
captures | : एक List<List<String>> जिसके माध्यम से कैप्चर ग्रुप वापस किये जायेंगे। |
strings | String : मिलान करने के लिए String का एक क्रम |
रिटर्न |
---|
V | यदि कोई मूल्य नहीं मिला तो संबंधित मूल्य, या null |
स्ट्रिंग
public String toString ()