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 ( 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 を取得して削除し、必要に応じてそのような要素が使用可能になるまで待機します。

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

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

ConditionPriorityBlockingQueueを作成します

エレメントは FIFO 順で優先されます。

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ( c)

ConditionPriorityBlockingQueueを作成します

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

公開メソッド

追加

public boolean add (T addedElement)

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

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

戻り値
boolean true

スロー
優先度キューの順序付けに従って、指定された要素を現在優先度キューにある要素と比較できない場合
指定された要素が null の場合

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

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このキューの先頭

スロー
待機中に中断された場合

取った

public T take (IMatcher<T> matcher)

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

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

戻り値
Tマッチした要素

スロー
待機中に中断された場合