PriorityBlockingQueue クラス

定義

クラス 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.PriorityBlockingQueueJava ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

コンストラクター

PriorityBlockingQueue()

既定の初期容量 (11) を持つ を PriorityBlockingQueue 作成し、その要素をその比較可能な自然順序に従って並べ替えます。

PriorityBlockingQueue(ICollection)

PriorityBlockingQueue指定したコレクション内の要素を含む を作成します。

PriorityBlockingQueue(Int32)

指定した初期容量を持つ を PriorityBlockingQueue 作成し、その要素をその比較可能な自然順序に従って並べ替えます。

PriorityBlockingQueue(Int32, IComparator)

PriorityBlockingQueue指定した比較子に従って要素を並べ替える、指定した初期容量を持つ を作成します。

PriorityBlockingQueue(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

プロパティ

Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
IsEmpty

追加する

(継承元 AbstractCollection)
JniIdentityHashCode

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

(継承元 Object)
JniPeerMembers

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

PeerReference

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

(継承元 Object)
ThresholdClass

この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

メソッド

Add(Object)

追加する

(継承元 AbstractCollection)
AddAll(ICollection)

追加する

(継承元 AbstractCollection)
Clear()

追加する

(継承元 AbstractCollection)
Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Comparator()

このキュー内の要素の順序付けに使用される比較子を返します。この null キューで要素の "比較可能" の自然な順序が使用されている場合は、 を返します。

Contains(Object)

追加する

(継承元 AbstractCollection)
ContainsAll(ICollection)

追加する

(継承元 AbstractCollection)
Dispose()

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

(継承元 Object)
Dispose(Boolean)

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

(継承元 Object)
DrainTo(ICollection)

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

DrainTo(ICollection, Int32)

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

Element()

このキューの先頭を取得しますが、削除しません。

(継承元 AbstractQueue)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
ForEach(IConsumer)

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
Iterator()

このキュー内の要素に対する反復子を返します。

JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションが判断したときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
Offer(Object)

指定した要素をこの優先度キューに挿入します。

Offer(Object, Int64, TimeUnit)

指定した要素をこの優先度キューに挿入します。

Peek()

このキューの先頭を取得しますが、削除しません。または、このキューが空の場合は を返 null します。

Poll()

このキューの先頭を取得して削除するか、このキューが空の場合は を null 返します。

Poll(Int64, TimeUnit)

要素が使用可能になるまで、必要に応じて指定された待機時間まで待機して、このキューの先頭を取得して削除します。

Put(Object)

指定した要素をこの優先度キューに挿入します。

RemainingCapacity()

は容量に Integer.MAX_VALUE 制約されていないため PriorityBlockingQueue 、常に が返されます。

Remove()

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

(継承元 AbstractQueue)
Remove(Object)

追加する

(継承元 AbstractCollection)
RemoveAll(ICollection)

追加する

(継承元 AbstractCollection)
RemoveIf(IPredicate)

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

RetainAll(ICollection)

追加する

(継承元 AbstractCollection)
SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
Size()

このオブジェクトに含まれるオブジェクトの数を Collection 返します。

Spliterator()

このキュー内の Spliterator 要素に対して を返します。

Take()

要素が使用可能になるまで、必要に応じて待機して、このキューの先頭を取得して削除します。

ToArray()

追加する

(継承元 AbstractCollection)
ToArray(Object[])

追加する

(継承元 AbstractCollection)
ToArray<T>()

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常<は、通知</em> または>< em 中断</em によって待機します>。>

(継承元 Object)
Wait(Int64)

現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

IJavaPeerable.Disposed()

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

(継承元 Object)
IJavaPeerable.Finalized()

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

(継承元 Object)
IJavaPeerable.JniManagedPeerState

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

(継承元 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

(継承元 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

(継承元 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

(継承元 Object)

拡張メソッド

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

GetJniTypeName(IJavaPeerable)

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

OfferAsync(IBlockingQueue, Object)

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

OfferAsync(IBlockingQueue, Object, Int64, TimeUnit)

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

PollAsync(IBlockingQueue, Int64, TimeUnit)

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

PutAsync(IBlockingQueue, Object)

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

TakeAsync(IBlockingQueue)

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

ToEnumerable(IIterable)

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

ToEnumerable<T>(IIterable)

クラス PriorityQueue と同じ順序付け規則を使用し、ブロッキング取得操作を提供する無制限の BlockingQueue ブロック キュー。

適用対象