ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object

java.lang.Object
   ↳ 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 を作成する

パブリック メソッド

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)

最小値を取得して削除します(指定された ERROR(/Comparator) 要素 T によって決まります) 表示されます。

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

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

T poll(IMatcher<T> matcher)

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

T poll()

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

boolean remove(T object)

このキューから 1 つのアイテムを削除します。

int size()
T take()

最小値を取得して削除します(指定された ERROR(/Comparator) 要素 T によって決まります) 表示されます。

T take(IMatcher<T> matcher)

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

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

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

getCopy

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)

最小値を取得して削除します(指定された 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 指定されたオブジェクトがキューから削除された場合は truefalse> できません。

size

public int size ()

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

take

public T take ()

最小値を取得して削除します(指定された ERROR(/Comparator) 要素 T によって決まります) 表示されます。

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

戻り値
T このキューのヘッドです。

例外
InterruptedException 処理を待機している間に中断された場合、

take

public T take (IMatcher<T> matcher)

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

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

戻り値
T 一致した要素

例外
InterruptedException 処理を待機している間に中断された場合、