IDeque インターフェイス

定義

両端の要素の挿入と削除をサポートする線形コレクション。

[Android.Runtime.Register("java/util/Deque", "", "Java.Util.IDequeInvoker")]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public interface IDeque : IDisposable, Java.Interop.IJavaPeerable, Java.Util.IQueue
[<Android.Runtime.Register("java/util/Deque", "", "Java.Util.IDequeInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type IDeque = interface
    interface IQueue
    interface ICollection
    interface IIterable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
派生
属性
実装

注釈

両端の要素の挿入と削除をサポートする線形コレクション。 deque という名前は"double ended queue" の短く、通常は "deck" と発音されます。 ほとんどの Deque 実装では、含まれる可能性がある要素の数に固定制限はありませんが、このインターフェイスでは、容量制限付き deque と固定サイズ制限のない deques がサポートされています。

このインターフェイスは、deque の両端にある要素にアクセスするメソッドを定義します。 要素の挿入、削除、および検査を行うメソッドが用意されています。 これらの各メソッドは、2 つの形式で存在します。1 つは操作が失敗した場合に例外をスローし、もう 1 つは特別な値 ( null 操作に応じて または false) を返します。 後者の形式の挿入操作は、容量制限 Deque の実装で使用するように特別に設計されています。ほとんどの実装では、挿入操作は失敗しません。

上記の 12 の方法を次の表にまとめます。

<table class="striped">キャプションDeque メソッド<のSummary/キャプション><thead><tr><td rowspan="2"></td><th scope="col" colspan="2"> First Element (Head)</th><scope="col" colspan="2"> Last Element (Tail)</th<>/tr<><>th scope="col" style="font-weight:normal; font-style:italic:">Throws exceptions><</番目><th scope="col" style="font-weight:normal;font-style:italic">Special value</th><scope="col" style="font-weight:normal; font-style:italic">Throws exception</th th><scope="col" style="font-weight:normal; font-style:italic">Special value</th></tr></thead><tbody><tr><th scope="row">Insert</th><td#addFirst(Object) addFirst(e)<>/td td<>#offerFirst(Object) offerFirst(e)/td><td td/td td td><>#addLast(Object) addLast(e)</Td><td>#offerLast(Object) offerLast(e)</td></tr tr>><<th scope="row">Remove</th><td>#removeFirst() removeFirst()</td><td><#pollFirst() pollFirst()/td><td td<#removeLast() removeLast()>/td<>td<>#pollLast() pollLast()/td<>/tr tr<<>>th scope="row">Examine</th><td/td><td>#getFirst() getFirst()><<#peekFirst() peekFirst()/td td/td><td/td>#getLast() getLast()<><Td>#peekLast() peekLast()</td></tr></tbody></table>

このインターフェイスは、インターフェイスを Queue 拡張します。 deque をキューとして使用すると、FIFO (先入れ先出し) 動作が発生します。 要素は deque の末尾に追加され、先頭から削除されます。 インターフェイスから継承されるメソッドは、次の Queue 表に示すように、メソッドと正確に同じです Deque

<table class="striped">キャプション Queue メソッドと Deque メソッド<のComparison/キャプション><thead><tr><th scope="col"Queue> Method</th<>th scope="col"> Equivalent Deque Method</th<>/tr<>/thead<>tbody<>tr><th scope="row"<#add(Object) add(e)>/th<>td>#addLast(Object) addLast(e)</td></tr><><tr><th scope="row"><#offer(Object) offer(e)/th><td>#offerLast(Object) offerLast(e)</td></tr tr>><<th scope="row"><#remove() remove()/th><td/td>#removeFirst() removeFirst()><</tr th><><scope="row"#poll() poll()></th<>td/td#pollFirst() pollFirst()<<>>/tr tr><><th scope="row"<#element() element()>/th<>td/td><>#getFirst() getFirst()</tr><Tr><th scope="row">#peek() peek()</th><td><#peekFirst() peekFirst()/td></tr></tbody></table>

Deques は、LIFO (Last-In-First-Out) スタックとしても使用できます。 このインターフェイスは、レガシ Stack クラスより優先して使用する必要があります。 deque をスタックとして使用すると、要素がプッシュされ、deque の先頭からポップされます。 スタック メソッドは、次の表に示すようにメソッドと同じです Deque

<table class="striped">キャプションComparison of Stack and Deque methods</キャプション><thead<>tr><th scope="col"> Stack Method</th><th scope="col"> Equivalent Deque Method</th<>/tr<>/thead><tbody<>tr><th scope="row">#push(Object) push(e)</th<>td#addFirst(Object) addFirst(e)></td></tr>><<Tr><th scope="row">#pop() pop()</th><td><#removeFirst() removeFirst()/td></tr tr><><th scope="row">#peek() peek()</th><td><#getFirst() getFirst()/td></tr></tbody></table>

deque が #peek peek キューまたはスタックとして使用されている場合、メソッドも同様に機能します。どちらの場合も、要素は deque の先頭から描画されます。

このインターフェイスには、内部要素 #removeFirstOccurrence removeFirstOccurrence と を削除する 2 つのメソッドが用意されています #removeLastOccurrence removeLastOccurrence

Listインターフェイスとは異なり、このインターフェイスでは、要素へのインデックス付きアクセスのサポートは提供されません。

Deque実装は null 要素の挿入を禁止するために厳密には必要ではありませんが、これを行うことを強くお勧めします。 null 要素を許可する Deque 実装のユーザーは、null を挿入する機能を利用 しないことを 強くお勧めします。 これは、deque が空であることを示すさまざまなメソッドによって特別な戻り値として使用されるため null です。

Deque実装では通常、 メソッドと hashCode メソッドの要素ベースのバージョンはequals定義されず、代わりに クラス Objectから ID ベースのバージョンが継承されます。

1.6 で追加されました。

java.util.DequeJava ドキュメント。

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

プロパティ

First

この deque の最初の要素を取得しますが、削除しません。

Handle

基になる Android オブジェクトの JNI 値を取得します。

(継承元 IJavaObject)
IsEmpty

要素 Collection が含まれない場合は を返します。

(継承元 ICollection)
JniIdentityHashCode

ラップされたインスタンスの の java.lang.System.identityHashCode() 値を返します。

(継承元 IJavaPeerable)
JniManagedPeerState

マネージド ピアの状態。

(継承元 IJavaPeerable)
JniPeerMembers

メンバー アクセスと呼び出しのサポート。

(継承元 IJavaPeerable)
Last

この deque の最後の要素を取得しますが、削除しません。

PeerReference

JniObjectReferenceラップされた Java オブジェクト インスタンスの を返します。

(継承元 IJavaPeerable)

メソッド

Add(Object)

容量制限に違反せずにすぐに行うことができる場合は、指定された要素をこの deque で表されるキューに挿入しますIllegalStateException(つまり、trueこの deque の末尾)。

AddAll(ICollection)

指定したコレクション内のすべての要素をこのコレクションに追加します (省略可能な操作)。

(継承元 ICollection)
AddFirst(Object)

容量制限に違反せずにすぐに実行できる場合は、指定した要素をこの deque の先頭に挿入し、現在使用できる領域がない場合は を IllegalStateException スローします。

AddLast(Object)

容量制限に違反せずにすぐに実行できる場合は、この deque の末尾に指定された要素を挿入し、現在使用できる領域がない場合は を IllegalStateException スローします。

Clear()

このコレクションからすべての要素を削除します (省略可能な操作)。

(継承元 ICollection)
Contains(Object)

この deque に true 指定した要素が含まれている場合は を返します。

ContainsAll(ICollection)

このコレクションに true 指定したコレクション内のすべての要素が含まれている場合は を返します。

(継承元 ICollection)
DescendingIterator()

この deque 内の要素に対する反復子を逆順に返します。

Disposed()

インスタンスが破棄されたときに呼び出されます。

(継承元 IJavaPeerable)
DisposeUnlessReferenced()

このインスタンスへの未処理の参照がない場合は、 を呼び出 Dispose()します。それ以外の場合は何も行いません。

(継承元 IJavaPeerable)
Element()

この deque で表されるキューの先頭 (つまり、この deque の最初の要素) を取得しますが、削除しません。

Equals(Object)

指定したオブジェクトとこのコレクションを比較して等しいかどうかを確認します。

(継承元 ICollection)
Finalized()

インスタンスが終了したときに呼び出されます。

(継承元 IJavaPeerable)
ForEach(IConsumer)

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

(継承元 IIterable)
GetHashCode()

このコレクションのハッシュ コード値を返します。

(継承元 ICollection)
Iterator()

この deque 内の要素に対する反復子を適切な順序で返します。

Offer(Object)

容量制限に違反せずにすぐに行うことができる場合は、指定された要素をこの deque で表されるキュー (つまり、この deque の末尾) に挿入し、成功時にを返しfalse、現在使用できる領域がない場合はを返trueします。

OfferFirst(Object)

容量制限に違反しない限り、指定した要素をこの deque の先頭に挿入します。

OfferLast(Object)

容量制限に違反しない限り、指定した要素をこの deque の末尾に挿入します。

Peek()

この deque で表されるキューの先頭 (つまり、この deque の最初の要素) を取得しますが、削除しません。または、この deque が空の場合は を返します null

PeekFirst()

この deque の最初の要素を取得しますが、削除しません。この deque が空の場合は を返 null します。

PeekLast()

この deque の最後の要素を取得しますが、削除しません。または、この deque が空の場合は を返 null します。

Poll()

この deque で表されるキューの先頭 (つまり、この deque の最初の要素) を取得して削除するか、この deque が空の場合は を返します null

PollFirst()

この deque の最初の要素を取得および削除するか、この deque が空の場合は を返します null

PollLast()

この deque の最後の要素を取得および削除するか、この deque が空の場合は を返 null します。

Pop()

この deque で表されるスタックから要素をポップします。

Push(Object)

容量制限に違反せずにすぐに実行できる場合は、この deque によって表されるスタック (つまり、この deque の先頭) に要素をプッシュし、現在使用できる領域がない場合は を IllegalStateException スローします。

Remove()

この deque で表されるキューの先頭 (つまり、この deque の最初の要素) を取得して削除します。

Remove(Object)

指定した要素の最初の出現箇所を、この deque から削除します。

RemoveAll(ICollection)

指定したコレクションにも含まれるこのコレクションのすべての要素を削除します (省略可能な操作)。

(継承元 ICollection)
RemoveFirst()

この deque の最初の要素を取得して削除します。

RemoveFirstOccurrence(Object)

指定した要素の最初の出現箇所を、この deque から削除します。

RemoveIf(IPredicate)

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

(継承元 ICollection)
RemoveLast()

この deque の最後の要素を取得して削除します。

RemoveLastOccurrence(Object)

指定した要素の最後の出現箇所を、この deque から削除します。

RetainAll(ICollection)

指定したコレクションに含まれるこのコレクション内の要素のみを保持します (省略可能な操作)。

(継承元 ICollection)
SetJniIdentityHashCode(Int32)

によって返される値を JniIdentityHashCode設定します。

(継承元 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

両端の要素の挿入と削除をサポートする線形コレクション。

(継承元 IJavaPeerable)
SetPeerReference(JniObjectReference)

によって返される値を PeerReference設定します。

(継承元 IJavaPeerable)
Size()

この deque 内の要素の数を返します。

Spliterator()

Spliteratorこの Iterableによって記述された要素の 上に を作成します。

(継承元 IIterable)
ToArray()

このコレクション内のすべての要素を含む配列を返します。

(継承元 ICollection)
ToArray(IIntFunction)

指定された関数を使用して、このコレクション内のすべての要素を含む配列を generator 返し、返される配列を割り当てます。

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

このコレクション内のすべての要素を含む配列を返します。返される配列のランタイム型は、指定した配列のランタイム型です。

(継承元 ICollection)
UnregisterFromRuntime()

ランタイムが今後 Java.Interop.JniRuntime+JniValueManager.PeekValue の呼び出しから返されないように、このインスタンスの登録を解除します。

(継承元 IJavaPeerable)

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

IIterable.Spliterator()

Spliteratorこのコレクション内の要素に 対して を作成します。

(継承元 ICollection)

拡張メソッド

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

両端の要素の挿入と削除をサポートする線形コレクション。

GetJniTypeName(IJavaPeerable)

両端の要素の挿入と削除をサポートする線形コレクション。

ToEnumerable(IIterable)

両端の要素の挿入と削除をサポートする線形コレクション。

ToEnumerable<T>(IIterable)

両端の要素の挿入と削除をサポートする線形コレクション。

適用対象