条件優先度ブロッキングキュー
public class ConditionPriorityBlockingQueue
extends Object
java.lang.オブジェクト | |
↳ | 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)が |
パブリックコンストラクター
条件優先度ブロッキングキュー
public 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 | 指定されたオブジェクトがキューに含まれている場合はtrue 。 false> それ以外の場合。 |
取得コピー
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 | この列の先頭 |
投げる | |
---|---|
InterruptedException | 待機中に中断された場合 |
取った
public T take (IMatcher<T> matcher)
matcher.matches(T)がtrue
であるキュー内の最初の要素 T を取得して削除し、必要に応じてそのような要素が使用可能になるまで待機します。
パラメーター | |
---|---|
matcher | IMatcher : 要素の評価に使用するIMatcher |
戻り値 | |
---|---|
T | 一致した要素 |
投げる | |
---|---|
InterruptedException | 待機中に中断された場合 |
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2023-07-19 UTC。