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 ( c) ConditionPriorityBlockingQueue ( c) |
公開メソッド | |
---|---|
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) キュー内の指定された |
T | poll (long timeout, TimeUnit unit, IMatcher <T> matcher) matcher.matches(T)が |
T | poll ( IMatcher <T> matcher) matcher.matches(T)が |
T | poll () このキューの先頭を取得して削除します。 |
boolean | remove (T object) このキューから項目を削除します。 |
int | size () |
T | take () キュー内の指定された |
T | take ( IMatcher <T> matcher) matcher.matches(T)が |
パブリック コンストラクター
ConditionPriorityBlockingQueue
public 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 | 指定されたオブジェクトがキューに含まれている場合はtrue 。 false> それ以外の場合。 |
getCopy
publicgetCopy ()
キューの内容のコピーを取得します。
戻り値 | |
---|---|
イテレータ
publiciterator ()
戻り値 | |
---|---|
世論調査
public T poll (long timeout, TimeUnit unit)
キュー内の指定されたERROR(/Comparator)
要素 T によって判断される最小値を取得して削除します。
パラメーター | |
---|---|
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 | 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 | 指定されたオブジェクトがキューから削除された場合はtrue 。 false> それ以外の場合。 |
サイズ
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 | マッチした要素 |
スロー | |
---|---|
| 待機中に中断された場合 |
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2023-03-30 UTC。