ConditionPriorityBlockingQueue
public
class
ConditionPriorityBlockingQueue
extends Object
java.lang.Object | |
↳ | com.android.tradefed.util.ConditionPriorityBlockingQueue<T> |
オブジェクトを取得できる ERROR(/PriorityBlockingQueue)
のようなオペレーションを備えたスレッドセーフ クラス
フィルタします
反復処理もスレッドセーフですが、整合性はありません。イテレータでキューのコピーが作成される
そのコピーがイテレーションのターゲットとして使用されます。キューの変更中に
イテレーションの場合、ERROR(/ConcurrentModificationException)
はスローされませんが、イテレータは
変更された内容は反映されません。
概要
ネストされたクラス | |
---|---|
class |
ConditionPriorityBlockingQueue.AlwaysMatch<T>
|
interface |
ConditionPriorityBlockingQueue.IMatcher<T>
要素がなんらかの条件と一致するかどうかを判断するためのインターフェース。 |
パブリック コンストラクタ | |
---|---|
ConditionPriorityBlockingQueue()
要素は FIFO の順序で優先されます。 |
|
ConditionPriorityBlockingQueue(
|
パブリック メソッド | |
---|---|
boolean
|
add(T addedElement)
指定された要素をこのキューに挿入します。 |
T
|
addUnique(IMatcher<T> matcher, T object)
このキューに 1 つのアイテムを追加し、指定した条件に一致する既存のオブジェクトを置き換えます |
void
|
clear()
このキューからすべての要素を削除します。 |
boolean
|
contains(T object)
オブジェクトが現在このキューに含まれているかどうかを確認します。 |
|
getCopy()
キューの内容のコピーを取得します。 |
|
iterator()
|
T
|
poll(long timeout, TimeUnit unit)
最小値を取得して削除します(指定された |
T
|
poll(long timeout, TimeUnit unit, IMatcher<T> matcher)
最小値を取得して削除します(指定された |
T
|
poll(IMatcher<T> matcher)
最小値を取得して削除します(指定された |
T
|
poll()
このキューの先頭を取得して削除します。 |
boolean
|
remove(T object)
このキューから 1 つのアイテムを削除します。 |
int
|
size()
|
T
|
take()
最小値を取得して削除します(指定された |
T
|
take(IMatcher<T> matcher)
キュー内の matcher.matches(T) の最初の要素 T を取得して削除します。
|
パブリック コンストラクタ
ConditionPriorityBlockingQueue
public ConditionPriorityBlockingQueue ()
ConditionPriorityBlockingQueue
を作成する
要素は FIFO の順序で優先されます。
ConditionPriorityBlockingQueue
public ConditionPriorityBlockingQueue (c)
ConditionPriorityBlockingQueue
を作成する
パラメータ | |
---|---|
c |
: キューの優先順位付けに使用される ERROR(/Comparator) 。 |
パブリック メソッド
追加
public boolean add (T addedElement)
指定された要素をこのキューに挿入します。キューは制限されていないため、このメソッドは ブロックされません。
パラメータ | |
---|---|
addedElement |
T : 追加する要素 |
戻り値 | |
---|---|
boolean |
true |
例外 | |
---|---|
ClassCastException |
指定された要素を要素と比較できない場合 優先キューの順序に従って、現在優先キューにある |
NullPointerException |
指定された要素が null の場合 |
addUnique
public T addUnique (IMatcher<T> matcher, T object)
このキューに 1 つのアイテムを追加し、指定した条件に一致する既存のオブジェクトを置き換えます
パラメータ | |
---|---|
matcher |
IMatcher : 既存のオブジェクトを評価するマッチャー |
object |
T : 追加するオブジェクト |
戻り値 | |
---|---|
T |
置換されたオブジェクト、または存在しない場合は null |
消去
public void clear ()
このキューからすべての要素を削除します。
次を含む
public boolean contains (T object)
オブジェクトが現在このキューに含まれているかどうかを確認します。
パラメータ | |
---|---|
object |
T : 検索するオブジェクト |
戻り値 | |
---|---|
boolean |
指定されたオブジェクトがキューに含まれている場合は true 。false>
できません。 |
getCopy
publicgetCopy ()
キューの内容のコピーを取得します。
戻り値 | |
---|---|
|
イテレータ
publiciterator ()
戻り値 | |
---|---|
|
アンケート
public T poll (long timeout, TimeUnit unit)
最小値を取得して削除します(指定された ERROR(/Comparator)
要素 T によって決まります)
表示されます。
要素が利用可能になるまで最大 timeout 時間ブロックします。
パラメータ | |
---|---|
timeout |
long : 要素が使用可能になるまで待機する時間 |
unit |
TimeUnit : タイムアウトの ERROR(/TimeUnit) |
戻り値 | |
---|---|
T |
最小一致要素、または一致する要素がない場合は null |
アンケート
public T poll (long timeout, TimeUnit unit, IMatcher<T> matcher)
最小値を取得して削除します(指定された ERROR(/Comparator)
要素 T によって決まります)
matcher.matches(T) が true
であるキュー。
要素が利用可能になるまで最大 timeout 時間ブロックします。
パラメータ | |
---|---|
timeout |
long : 要素が使用可能になるまで待機する時間 |
unit |
TimeUnit : タイムアウトの ERROR(/TimeUnit) |
matcher |
IMatcher : 要素の評価に使用する IMatcher |
戻り値 | |
---|---|
T |
最小一致要素、または一致する要素がない場合は null |
アンケート
public T poll (IMatcher<T> matcher)
最小値を取得して削除します(指定された ERROR(/Comparator)
要素 T によって決まります)
matcher.matches(T) が true
であるキュー。
パラメータ | |
---|---|
matcher |
IMatcher : 要素の評価に使用する IMatcher |
戻り値 | |
---|---|
T |
最小一致要素、または一致する要素がない場合は null |
アンケート
public T poll ()
このキューの先頭を取得して削除します。
戻り値 | |
---|---|
T |
このキューの先頭。キューが空の場合は null |
削除
public boolean remove (T object)
このキューから 1 つのアイテムを削除します。
パラメータ | |
---|---|
object |
T : 削除するオブジェクト |
戻り値 | |
---|---|
boolean |
指定されたオブジェクトがキューから削除された場合は true 。false>
できません。 |
size
public int size ()
戻り値 | |
---|---|
int |
キュー内の要素の数 |
take
public T take ()
最小値を取得して削除します(指定された ERROR(/Comparator)
要素 T によって決まります)
表示されます。
要素が利用可能になるまで無期限にブロックします。
戻り値 | |
---|---|
T |
このキューのヘッドです。 |
例外 | |
---|---|
InterruptedException |
処理を待機している間に中断された場合、 |