ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object implements Iterable<T>

java.lang.Object
   ↳ com.android.tradefed.util.ConditionPriorityBlockingQueue<T>


यह थ्रेड-सेफ़ क्लास है. इसमें PriorityBlockingQueue जैसे ऑपरेशन होते हैं. इसकी मदद से, किसी शर्त को पूरा करने वाले ऑब्जेक्ट वापस पाए जा सकते हैं.

इटरेशन भी थ्रेड-सेफ़ है, लेकिन यह एक जैसा नहीं होता. इटरेटर बनाते समय, क्यू की एक कॉपी बनाई जाती है. इस कॉपी का इस्तेमाल, बार-बार इस्तेमाल करने के लिए किया जाता है. अगर इटरेट करने के दौरान कतार में बदलाव किया जाता है, तो ConcurrentModificationException नहीं दिखेगा. हालांकि, इटरेटर में भी बदले गए कॉन्टेंट नहीं दिखेंगे.

यह भी देखें:

खास जानकारी

नेस्टेड क्लास

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

ConditionPriorityBlockingQueue.IMatcher, जो किसी भी ऑब्जेक्ट से मेल खाता है. 

interface ConditionPriorityBlockingQueue.IMatcher<T>

यह एक इंटरफ़ेस है. इसका इस्तेमाल यह तय करने के लिए किया जाता है कि एलिमेंट किसी शर्त से मेल खाते हैं या नहीं. 

सार्वजनिक कंस्ट्रक्टर

ConditionPriorityBlockingQueue()

इस फ़ंक्शन से एक ConditionPriorityBlockingQueue बनता है

एलिमेंट को फ़र्स्ट इन फ़र्स्ट आउट (FIFO) के क्रम में प्राथमिकता दी जाएगी.

ConditionPriorityBlockingQueue(Comparator<T> c)

इस फ़ंक्शन से एक ConditionPriorityBlockingQueue बनता है

पब्लिक मेथड

boolean add(T addedElement)

यह तरीका, इस सूची में बताए गए एलिमेंट को डालता है.

T addUnique(IMatcher<T> matcher, T object)

यह फ़ंक्शन, इस सूची में कोई आइटम जोड़ता है. साथ ही, दी गई शर्त से मेल खाने वाले किसी भी मौजूदा ऑब्जेक्ट को बदल देता है

void clear()

इस सूची से सभी एलिमेंट हटाता है.

boolean contains(T object)

यह पता लगाएं कि कोई ऑब्जेक्ट फ़िलहाल इस कतार में शामिल है या नहीं.

List<T> getCopy()

कतार में मौजूद कॉन्टेंट की कॉपी पाएं.

Iterator<T> iterator()

T poll(IMatcher<T> matcher)

यह कुकी, Comparator एलिमेंट T के हिसाब से, लाइन में सबसे कम समय (true) में प्रोसेस होने वाले अनुरोध को वापस लाती है और उसे हटाती है.matcher.matches(T)

T poll(long timeout, TimeUnit unit, IMatcher<T> matcher)

यह कुकी, Comparator एलिमेंट T के हिसाब से, लाइन में सबसे कम समय (true) में प्रोसेस होने वाले अनुरोध को वापस लाती है और उसे हटाती है.matcher.matches(T)

T poll(long timeout, TimeUnit unit)

यह फ़ंक्शन, कतार में मौजूद सबसे कम Comparator एलिमेंट T को वापस लाता है और उसे हटाता है.

T poll()

यह इस कतार के सबसे पहले आइटम को वापस लाता है और उसे हटाता है.

boolean remove(T object)

इस सूची से कोई आइटम हटाता है.

int size()
T take()

यह फ़ंक्शन, कतार में मौजूद सबसे कम Comparator एलिमेंट T को वापस लाता है और उसे हटाता है.

T take(IMatcher<T> matcher)

यह फ़ंक्शन, क्यू में मौजूद पहले एलिमेंट T को वापस लाता है और उसे हटा देता है. यहां matcher.matches(T), true है. अगर ज़रूरी हो, तो यह फ़ंक्शन तब तक इंतज़ार करता है, जब तक ऐसा एलिमेंट उपलब्ध न हो जाए.

सार्वजनिक कंस्ट्रक्टर

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

इस फ़ंक्शन से एक ConditionPriorityBlockingQueue बनता है

एलिमेंट को फ़र्स्ट इन फ़र्स्ट आउट (FIFO) के क्रम में प्राथमिकता दी जाएगी.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue (Comparator<T> c)

इस फ़ंक्शन से एक ConditionPriorityBlockingQueue बनता है

पैरामीटर
c Comparator: इस Comparator का इस्तेमाल, क्यू को प्राथमिकता देने के लिए किया जाता है.

पब्लिक मेथड

जोड़ें

public boolean add (T addedElement)

यह तरीका, इस सूची में बताए गए एलिमेंट को डालता है. कतार की सीमा तय नहीं की गई है. इसलिए, यह तरीका कभी ब्लॉक नहीं होगा.

पैरामीटर
addedElement T: जोड़ने के लिए एलिमेंट

रिटर्न
boolean true

थ्रो
ClassCastException अगर प्राथमिकता वाली सूची में मौजूद एलिमेंट के साथ, तय किए गए एलिमेंट की तुलना नहीं की जा सकती, तो प्राथमिकता वाली सूची में मौजूद एलिमेंट के क्रम के हिसाब से
NullPointerException अगर तय किया गया एलिमेंट शून्य है, तो

addUnique

public T addUnique (IMatcher<T> matcher, 
                T object)

यह फ़ंक्शन, इस सूची में कोई आइटम जोड़ता है. साथ ही, दी गई शर्त से मेल खाने वाले किसी भी मौजूदा ऑब्जेक्ट को बदल देता है

पैरामीटर
matcher IMatcher: मौजूदा ऑब्जेक्ट का आकलन करने के लिए मैच करने वाला फ़ंक्शन

object T: जोड़ने के लिए ऑब्जेक्ट

रिटर्न
T बदला गया ऑब्जेक्ट या null अगर कोई ऑब्जेक्ट मौजूद नहीं है

मिटाएं

public void clear ()

इस सूची से सभी एलिमेंट हटाता है.

इसमें शामिल है

public boolean contains (T object)

यह पता लगाएं कि कोई ऑब्जेक्ट फ़िलहाल इस कतार में शामिल है या नहीं.

पैरामीटर
object T: वह ऑब्जेक्ट जिसे ढूंढना है

रिटर्न
boolean अगर दिया गया ऑब्जेक्ट, सूची में शामिल है, तो true. false> अन्यथा.

getCopy

public List<T> getCopy ()

कतार में मौजूद कॉन्टेंट की कॉपी पाएं.

रिटर्न
List<T>

इटररेटर

public Iterator<T> iterator ()

रिटर्न
Iterator<T>

पोल

public T poll (IMatcher<T> matcher)

यह कुकी, Comparator एलिमेंट T के हिसाब से, लाइन में सबसे कम समय (true) में प्रोसेस होने वाले अनुरोध को वापस लाती है और उसे हटाती है.matcher.matches(T)

पैरामीटर
matcher IMatcher: एलिमेंट का आकलन करने के लिए इस्तेमाल किया जाने वाला IMatcher

रिटर्न
T मिलता-जुलता कम से कम एक एलिमेंट या अगर कोई मिलता-जुलता एलिमेंट नहीं है, तो null

पोल

public T poll (long timeout, 
                TimeUnit unit, 
                IMatcher<T> matcher)

यह कुकी, Comparator एलिमेंट T के हिसाब से, लाइन में सबसे कम समय (true) में प्रोसेस होने वाले अनुरोध को वापस लाती है और उसे हटाती है.matcher.matches(T)

यह कुकी, किसी एलिमेंट के उपलब्ध होने के लिए timeout तक के समय को ब्लॉक करती है.

पैरामीटर
timeout long: किसी एलिमेंट के उपलब्ध होने का इंतज़ार करने का समय

unit TimeUnit: टाइम आउट की TimeUnit

matcher IMatcher: एलिमेंट का आकलन करने के लिए इस्तेमाल किया जाने वाला IMatcher

रिटर्न
T मिलता-जुलता कम से कम एक एलिमेंट या अगर कोई मिलता-जुलता एलिमेंट नहीं है, तो null

थ्रो
InterruptedException

पोल

public T poll (long timeout, 
                TimeUnit unit)

यह फ़ंक्शन, कतार में मौजूद सबसे कम Comparator एलिमेंट T को वापस लाता है और उसे हटाता है.

यह कुकी, किसी एलिमेंट के उपलब्ध होने के लिए timeout तक के समय को ब्लॉक करती है.

पैरामीटर
timeout long: किसी एलिमेंट के उपलब्ध होने का इंतज़ार करने का समय

unit TimeUnit: टाइम आउट की TimeUnit

रिटर्न
T मिलता-जुलता कम से कम एक एलिमेंट या अगर कोई मिलता-जुलता एलिमेंट नहीं है, तो null

थ्रो
InterruptedException

पोल

public T poll ()

यह इस कतार के सबसे पहले आइटम को वापस लाता है और उसे हटाता है.

रिटर्न
T इस सूची में सबसे ऊपर मौजूद आइटम या सूची खाली होने पर null

हटाएं

public boolean remove (T object)

इस सूची से कोई आइटम हटाता है.

पैरामीटर
object T: हटाने के लिए ऑब्जेक्ट

रिटर्न
boolean true अगर दिए गए ऑब्जेक्ट को सूची से हटा दिया गया हो. false> अन्यथा.

size

public int size ()

रिटर्न
int कतार में मौजूद एलिमेंट की संख्या

टेक

public T take ()

यह फ़ंक्शन, कतार में मौजूद सबसे कम Comparator एलिमेंट T को वापस लाता है और उसे हटाता है.

यह फ़ंक्शन, किसी एलिमेंट के उपलब्ध होने तक हमेशा के लिए ब्लॉक हो जाता है.

रिटर्न
T इस कतार का पहला आइटम

थ्रो
InterruptedException अगर इंतज़ार करते समय कॉल कट जाए

टेक

public T take (IMatcher<T> matcher)

यह फ़ंक्शन, क्यू में मौजूद पहले एलिमेंट T को वापस लाता है और उसे हटा देता है. यहां matcher.matches(T), true है. अगर ज़रूरी हो, तो यह फ़ंक्शन तब तक इंतज़ार करता है, जब तक ऐसा एलिमेंट उपलब्ध न हो जाए.

पैरामीटर
matcher IMatcher: एलिमेंट का आकलन करने के लिए इस्तेमाल किया जाने वाला IMatcher

रिटर्न
T मैच किया गया एलिमेंट

थ्रो
InterruptedException अगर इंतज़ार करते समय कोई रुकावट आती है