条件優先度ブロッキングキュー

public class ConditionPriorityBlockingQueue
extends Object

java.lang.オブジェクト
com.android.tradefed.util.ConditionPriorityBlockingQueue<T>


特定の条件に一致するオブジェクトを取得できるERROR(/PriorityBlockingQueue)のような操作を備えたスレッドセーフ クラス。

反復もスレッドセーフですが、一貫性はありません。イテレータの作成時にキューのコピーが作成され、そのコピーが反復ターゲットとして使用されます。反復中にキューが変更された場合、 ERROR(/ConcurrentModificationException)スローされませんが、反復子にも変更された内容は反映されません。

以下も参照してください。

まとめ

入れ子になったクラス

class ConditionPriorityBlockingQueue.AlwaysMatch <T>

任意のオブジェクトと一致するConditionPriorityBlockingQueue.IMatcher

interface ConditionPriorityBlockingQueue.IMatcher <T>

要素が何らかの条件に一致するかどうかを判断するためのインターフェイス。

パブリックコンストラクター

ConditionPriorityBlockingQueue ()

ConditionPriorityBlockingQueueを作成します

要素は FIFO 順に優先されます。

ConditionPriorityBlockingQueue ( c) ConditionPriorityBlockingQueue ( c)

ConditionPriorityBlockingQueueを作成します

パブリックメソッド

boolean add (T addedElement)

指定された要素をこのキューに挿入します。

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

このキューに項目を追加し、指定された条件に一致する既存のオブジェクトを置き換えます

void clear ()

このキューからすべての要素を削除します。

boolean contains (T object)

オブジェクトが現在このキューに含まれているかどうかを確認します。

getCopy ()

キューの内容のコピーを取得します。

iterator ()

T poll (long timeout, TimeUnit unit)

キュー内の最小値 (指定されたERROR(/Comparator)要素 T によって判断される) を取得して削除します。

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

matcher.matches(T)trueであるキュー内の最小値 (指定されたERROR(/Comparator)要素 T によって判断される) を取得して削除します。

T poll ( IMatcher <T> matcher)

matcher.matches(T)trueであるキュー内の最小値 (指定されたERROR(/Comparator)要素 T によって判断される) を取得して削除します。

T poll ()

このキューの先頭を取得して削除します。

boolean remove (T object)

このキューから項目を削除します。

int size ()
T take ()

キュー内の最小値 (指定されたERROR(/Comparator)要素 T によって判断される) を取得して削除します。

T take ( IMatcher <T> matcher)

matcher.matches(T)trueであるキュー内の最初の要素 T を取得して削除し、必要に応じてそのような要素が使用可能になるまで待機します。

パブリックコンストラクター

条件優先度ブロッキングキュー

public ConditionPriorityBlockingQueue ()

ConditionPriorityBlockingQueueを作成します

要素は FIFO 順に優先されます。

条件優先度ブロッキングキュー

public ConditionPriorityBlockingQueue ( c)

ConditionPriorityBlockingQueueを作成します

パラメーター
c : キューに優先順位を付けるために使用されるERROR(/Comparator)

パブリックメソッド

追加

public boolean add (T addedElement)

指定された要素をこのキューに挿入します。キューには制限がないため、このメソッドがブロックされることはありません。

パラメーター
addedElement T : 追加する要素

戻り値
boolean true

投げる
ClassCastException指定された要素が、優先キューの順序に従って現在優先キューにある要素と比較できない場合
NullPointerException指定された要素が null の場合

ユニークな追加

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指定されたオブジェクトがキューに含まれている場合はtruefalse>それ以外の場合。

取得コピー

public  getCopy ()

キューの内容のコピーを取得します。

戻り値

イテレータ

public  iterator ()

戻り値

世論調査

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)

matcher.matches(T)trueであるキュー内の最小値 (指定されたERROR(/Comparator)要素 T によって判断される) を取得して削除します。

要素が使用可能になるまでのtimeout時間までブロックします。

パラメーター
timeout long : 要素が使用可能になるまで待機する時間

unit TimeUnit : タイムアウトのERROR(/TimeUnit)

matcher IMatcher : 要素の評価に使用するIMatcher

戻り値
T一致する最小の要素、または一致する要素がない場合はnull

世論調査

public T poll (IMatcher<T> matcher)

matcher.matches(T)trueであるキュー内の最小値 (指定されたERROR(/Comparator)要素 T によって判断される) を取得して削除します。

パラメーター
matcher IMatcher : 要素の評価に使用するIMatcher

戻り値
T一致する最小の要素、または一致する要素がない場合はnull

世論調査

public T poll ()

このキューの先頭を取得して削除します。

戻り値
Tこのキューの先頭、またはキューが空の場合はnull

取り除く

public boolean remove (T object)

このキューから項目を削除します。

パラメーター
object T : 削除するオブジェクト

戻り値
boolean指定されたオブジェクトがキューから削除された場合はtruefalse>それ以外の場合。

サイズ

public int size ()

戻り値
intキュー内の要素の数

取る

public T take ()

キュー内の最小値 (指定されたERROR(/Comparator)要素 T によって判断される) を取得して削除します。

要素が使用可能になるまで無期限にブロックします。

戻り値
Tこの列の先頭

投げる
InterruptedException待機中に中断された場合

取る

public T take (IMatcher<T> matcher)

matcher.matches(T)trueであるキュー内の最初の要素 T を取得して削除し、必要に応じてそのような要素が使用可能になるまで待機します。

パラメーター
matcher IMatcher : 要素の評価に使用するIMatcher

戻り値
T一致した要素

投げる
InterruptedException待機中に中断された場合