言語

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.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になります)。

このクラスとその反復子は、<インターフェイスと> インターフェイスのすべての <em>optionalCollection/emIterator メソッドを実装します。 メソッド #iterator() で提供される反復子と、メソッド #spliterator() で提供される Spliterator は、 <em>not</em> PriorityBlockingQueue の要素を任意の順序で走査することが保証されます。 順序指定されたトラバーサルが必要な場合は、 Arrays.sort(pq.toArray())の使用を検討してください。 また、メソッド drainTo を使用して、一部またはすべての要素を優先度順に <em>remove</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ドキュメント。

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

コンストラクター

名前 説明
PriorityBlockingQueue()

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

PriorityBlockingQueue(ICollection)

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

PriorityBlockingQueue(Int32, IComparator)

指定したコンパレータに従って要素を並べ替える、指定した初期容量を持つ PriorityBlockingQueue を作成します。

PriorityBlockingQueue(Int32)

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

PriorityBlockingQueue(IntPtr, JniHandleOwnership)

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

プロパティ

名前 説明
Class

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

(継承元 Object)
Handle

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

(継承元 Object)
IsEmpty

追加する

(継承元 AbstractCollection)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

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

(継承元 JavaObject)
JniPeerMembers

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

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
ThresholdClass

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

ThresholdType

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

メソッド

名前 説明
Add(Object)

追加する

(継承元 AbstractCollection)
AddAll(ICollection)

追加する

(継承元 AbstractCollection)
Clear()

追加する

(継承元 AbstractCollection)
Clone()

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

(継承元 Object)
Comparator()

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

Construct(JniObjectReference, JniObjectReferenceOptions)

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

(継承元 JavaObject)
Contains(Object)

追加する

(継承元 AbstractCollection)
ContainsAll(ICollection)

追加する

(継承元 AbstractCollection)
Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

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

(継承元 JavaObject)
DrainTo(ICollection, Int32)

このキューから指定された数の使用可能な要素を最大で削除し、指定されたコレクションに追加します。

DrainTo(ICollection)

このキューから使用可能なすべての要素を削除し、指定されたコレクションに追加します。

Element()

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

(継承元 AbstractQueue)
Equals(Object)

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

(継承元 JavaObject)
Equals(Object)

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

(継承元 Object)
ForEach(IConsumer)

すべての要素が処理されるか、アクションが例外をスローするまで、Iterable の各要素に対して指定されたアクションを実行します。

GetHashCode()

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

(継承元 Object)
Iterator()

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

JavaFinalize()
古い.

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

(継承元 Object)
Notify()

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

(継承元 Object)
NotifyAll()

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

(継承元 Object)
Offer(Object, Int64, TimeUnit)

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

Offer(Object)

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

Peek()

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

Poll()

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

Poll(Int64, TimeUnit)

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

Put(Object)

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

RemainingCapacity()

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

Remove()

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

(継承元 AbstractQueue)
Remove(Object)

追加する

(継承元 AbstractCollection)
RemoveAll(ICollection)

追加する

(継承元 AbstractCollection)
RemoveIf(IPredicate)

指定された述語を満たすこのコレクションのすべての要素を削除します。

RetainAll(ICollection)

追加する

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

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

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

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

(継承元 JavaObject)
Size()

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

Spliterator()

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

Take()

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

ToArray()

追加する

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

追加する

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

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

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

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

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

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

(継承元 Object)
Wait(Int64)

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

(継承元 Object)

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

名前 説明
IJavaPeerable.Disposed()

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

(継承元 JavaObject)
IJavaPeerable.Finalized()

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

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

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

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

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

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

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

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

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

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

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

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

OfferAsync(IBlockingQueue, Object, Int64, TimeUnit)

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

OfferAsync(IBlockingQueue, Object)

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

PollAsync(IBlockingQueue, Int64, TimeUnit)

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

PutAsync(IBlockingQueue, Object)

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

TakeAsync(IBlockingQueue)

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

ToEnumerable(IIterable)

Java IIterableを反復処理するIEnumerableを返します。これにより、foreachと LINQ をJavaコレクション型で使用できます。 各要素は、Java インスタンスから対応するマネージド型にマーシャリングされます。

ToEnumerable<T>(IIterable)

Java IIterableを反復処理し、各要素をTにマーシャリングするIEnumerable<T>を返します。 これにより、foreachと LINQ をJavaコレクション型で使用できます。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象