PriorityBlockingQueue クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
クラス PriorityQueue
と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。
[Android.Runtime.Register("java/util/concurrent/PriorityBlockingQueue", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class PriorityBlockingQueue : Java.Util.AbstractQueue, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Util.Concurrent.IBlockingQueue
[<Android.Runtime.Register("java/util/concurrent/PriorityBlockingQueue", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type PriorityBlockingQueue = class
inherit AbstractQueue
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IBlockingQueue
interface IQueue
interface ICollection
interface IIterable
- 継承
- 属性
- 実装
注釈
クラス PriorityQueue
と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。 このキューは論理的に無制限ですが、リソースの枯渇 (原因) により、追加の試行が失敗する OutOfMemoryError
可能性があります。 このクラスは要素を許可 null
しません。 比較可能な自然順序に依存する優先度キューでは、比較不可能なオブジェクトの挿入も許可されません (その結果、 ClassCastException
になります)。
このクラスとその反復子は、 インターフェイスと Iterator
インターフェイスのすべての <em>optional</em> メソッドをCollection
実装します。 method #iterator()
で提供される反復子とメソッド#spliterator()
で提供される Spliterator は、><PriorityBlockingQueue の要素を特定の順序で走査することが保証されていません<>。 順序付けられたトラバーサルが必要な場合は、 の使用を Arrays.sort(pq.toArray())
検討してください。 また、 メソッドdrainTo
を使用して、一部またはすべての要素を<>優先順位で削除<または em> し、別のコレクションに配置できます。
このクラスに対する操作では、優先度が等しい要素の順序については保証されません。 順序付けを適用する必要がある場合は、セカンダリ キーを使用して主優先度値の関係を解除するカスタム クラスまたは比較子を定義できます。 たとえば、先入れ先出しタイブレークを同等の要素に適用するクラスを次に示します。 これを使用するには、プレーンなエントリ オブジェクトの代わりに を挿入 new FIFOEntry(anEntry)
します。
{@code
class FIFOEntry<E extends Comparable<? super E>>
implements Comparable<FIFOEntry<E>> {
static final AtomicLong seq = new AtomicLong();
final long seqNum;
final E entry;
public FIFOEntry(E entry) {
seqNum = seq.getAndIncrement();
this.entry = entry;
}
public E getEntry() { return entry; }
public int compareTo(FIFOEntry<E> other) {
int res = entry.compareTo(other.entry);
if (res == 0 && other.entry != this.entry)
res = (seqNum < other.seqNum ? -1 : 1);
return res;
}
}}
このクラスは、 Java Collections Framework のメンバーです。
1\.5 で追加されました。
の java.util.concurrent.PriorityBlockingQueue
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。
コンストラクター
PriorityBlockingQueue() |
既定の初期容量 (11) を持つ を |
PriorityBlockingQueue(ICollection) |
|
PriorityBlockingQueue(Int32) |
指定した初期容量を持つ を |
PriorityBlockingQueue(Int32, IComparator) |
|
PriorityBlockingQueue(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
プロパティ
Class |
この |
Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
IsEmpty |
追加する (継承元 AbstractCollection) |
JniIdentityHashCode |
クラス |
JniPeerMembers |
クラス |
PeerReference |
クラス |
ThresholdClass |
この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
ThresholdType |
この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
メソッド
Add(Object) |
追加する (継承元 AbstractCollection) |
AddAll(ICollection) |
追加する (継承元 AbstractCollection) |
Clear() |
追加する (継承元 AbstractCollection) |
Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
Comparator() |
このキュー内の要素の順序付けに使用される比較子を返します。この |
Contains(Object) |
追加する (継承元 AbstractCollection) |
ContainsAll(ICollection) |
追加する (継承元 AbstractCollection) |
Dispose() |
クラス |
Dispose(Boolean) |
クラス |
DrainTo(ICollection) |
クラス |
DrainTo(ICollection, Int32) |
クラス |
Element() |
このキューの先頭を取得しますが、削除しません。 (継承元 AbstractQueue) |
Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
ForEach(IConsumer) |
クラス |
GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
Iterator() |
このキュー内の要素に対する反復子を返します。 |
JavaFinalize() |
オブジェクトへの参照がなくなったとガベージ コレクションが判断したときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
Offer(Object) |
指定した要素をこの優先度キューに挿入します。 |
Offer(Object, Int64, TimeUnit) |
指定した要素をこの優先度キューに挿入します。 |
Peek() |
このキューの先頭を取得しますが、削除しません。または、このキューが空の場合は を返 |
Poll() |
このキューの先頭を取得して削除するか、このキューが空の場合は を |
Poll(Int64, TimeUnit) |
要素が使用可能になるまで、必要に応じて指定された待機時間まで待機して、このキューの先頭を取得して削除します。 |
Put(Object) |
指定した要素をこの優先度キューに挿入します。 |
RemainingCapacity() |
は容量に |
Remove() |
このキューの先頭を取得して削除します。 (継承元 AbstractQueue) |
Remove(Object) |
追加する (継承元 AbstractCollection) |
RemoveAll(ICollection) |
追加する (継承元 AbstractCollection) |
RemoveIf(IPredicate) |
クラス |
RetainAll(ICollection) |
追加する (継承元 AbstractCollection) |
SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
Size() |
このオブジェクトに含まれるオブジェクトの数を |
Spliterator() |
このキュー内の |
Take() |
要素が使用可能になるまで、必要に応じて待機して、このキューの先頭を取得して削除します。 |
ToArray() |
追加する (継承元 AbstractCollection) |
ToArray(Object[]) |
追加する (継承元 AbstractCollection) |
ToArray<T>() |
クラス |
ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
UnregisterFromRuntime() |
クラス |
Wait() |
現在のスレッドが起動するまで待機します。通常<は、通知</em> または>< em 中断</em によって待機します>。> (継承元 Object) |
Wait(Int64) |
現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Wait(Int64, Int32) |
現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。 (継承元 Object) |
明示的なインターフェイスの実装
IJavaPeerable.Disposed() |
クラス |
IJavaPeerable.DisposeUnlessReferenced() |
クラス |
IJavaPeerable.Finalized() |
クラス |
IJavaPeerable.JniManagedPeerState |
クラス |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
クラス |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
クラス |
IJavaPeerable.SetPeerReference(JniObjectReference) |
クラス |
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
クラス |
GetJniTypeName(IJavaPeerable) |
クラス |
OfferAsync(IBlockingQueue, Object) |
クラス |
OfferAsync(IBlockingQueue, Object, Int64, TimeUnit) |
クラス |
PollAsync(IBlockingQueue, Int64, TimeUnit) |
クラス |
PutAsync(IBlockingQueue, Object) |
クラス |
TakeAsync(IBlockingQueue) |
クラス |
ToEnumerable(IIterable) |
クラス |
ToEnumerable<T>(IIterable) |
クラス |