IDeque インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
両端の要素の挿入と削除をサポートする線形コレクション。
[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 で追加されました。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。
プロパティ
First |
この deque の最初の要素を取得しますが、削除しません。 |
Handle |
基になる Android オブジェクトの JNI 値を取得します。 (継承元 IJavaObject) |
IsEmpty |
要素 |
JniIdentityHashCode |
ラップされたインスタンスの の |
JniManagedPeerState |
マネージド ピアの状態。 (継承元 IJavaPeerable) |
JniPeerMembers |
メンバー アクセスと呼び出しのサポート。 (継承元 IJavaPeerable) |
Last |
この deque の最後の要素を取得しますが、削除しません。 |
PeerReference |
JniObjectReferenceラップされた Java オブジェクト インスタンスの を返します。 (継承元 IJavaPeerable) |
メソッド
Add(Object) |
容量制限に違反せずにすぐに行うことができる場合は、指定された要素をこの deque で表されるキューに挿入します |
AddAll(ICollection) |
指定したコレクション内のすべての要素をこのコレクションに追加します (省略可能な操作)。 (継承元 ICollection) |
AddFirst(Object) |
容量制限に違反せずにすぐに実行できる場合は、指定した要素をこの deque の先頭に挿入し、現在使用できる領域がない場合は を |
AddLast(Object) |
容量制限に違反せずにすぐに実行できる場合は、この deque の末尾に指定された要素を挿入し、現在使用できる領域がない場合は を |
Clear() |
このコレクションからすべての要素を削除します (省略可能な操作)。 (継承元 ICollection) |
Contains(Object) |
この deque に |
ContainsAll(ICollection) |
このコレクションに |
DescendingIterator() |
この deque 内の要素に対する反復子を逆順に返します。 |
Disposed() |
インスタンスが破棄されたときに呼び出されます。 (継承元 IJavaPeerable) |
DisposeUnlessReferenced() |
このインスタンスへの未処理の参照がない場合は、 を呼び出 |
Element() |
この deque で表されるキューの先頭 (つまり、この deque の最初の要素) を取得しますが、削除しません。 |
Equals(Object) |
指定したオブジェクトとこのコレクションを比較して等しいかどうかを確認します。 (継承元 ICollection) |
Finalized() |
インスタンスが終了したときに呼び出されます。 (継承元 IJavaPeerable) |
ForEach(IConsumer) |
すべての要素が処理されるか、アクションによって例外がスローされるまで、 |
GetHashCode() |
このコレクションのハッシュ コード値を返します。 (継承元 ICollection) |
Iterator() |
この deque 内の要素に対する反復子を適切な順序で返します。 |
Offer(Object) |
容量制限に違反せずにすぐに行うことができる場合は、指定された要素をこの deque で表されるキュー (つまり、この deque の末尾) に挿入し、成功時にを返し |
OfferFirst(Object) |
容量制限に違反しない限り、指定した要素をこの deque の先頭に挿入します。 |
OfferLast(Object) |
容量制限に違反しない限り、指定した要素をこの deque の末尾に挿入します。 |
Peek() |
この deque で表されるキューの先頭 (つまり、この deque の最初の要素) を取得しますが、削除しません。または、この deque が空の場合は を返します |
PeekFirst() |
この deque の最初の要素を取得しますが、削除しません。この deque が空の場合は を返 |
PeekLast() |
この deque の最後の要素を取得しますが、削除しません。または、この deque が空の場合は を返 |
Poll() |
この deque で表されるキューの先頭 (つまり、この deque の最初の要素) を取得して削除するか、この deque が空の場合は を返します |
PollFirst() |
この deque の最初の要素を取得および削除するか、この deque が空の場合は を返します |
PollLast() |
この deque の最後の要素を取得および削除するか、この deque が空の場合は を返 |
Pop() |
この deque で表されるスタックから要素をポップします。 |
Push(Object) |
容量制限に違反せずにすぐに実行できる場合は、この deque によって表されるスタック (つまり、この deque の先頭) に要素をプッシュし、現在使用できる領域がない場合は を |
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) |
によって返される値を |
SetJniManagedPeerState(JniManagedPeerStates) |
両端の要素の挿入と削除をサポートする線形コレクション。 (継承元 IJavaPeerable) |
SetPeerReference(JniObjectReference) |
によって返される値を |
Size() |
この deque 内の要素の数を返します。 |
Spliterator() |
|
ToArray() |
このコレクション内のすべての要素を含む配列を返します。 (継承元 ICollection) |
ToArray(IIntFunction) |
指定された関数を使用して、このコレクション内のすべての要素を含む配列を |
ToArray(Object[]) |
このコレクション内のすべての要素を含む配列を返します。返される配列のランタイム型は、指定した配列のランタイム型です。 (継承元 ICollection) |
UnregisterFromRuntime() |
ランタイムが今後 Java.Interop.JniRuntime+JniValueManager.PeekValue の呼び出しから返されないように、このインスタンスの登録を解除します。 (継承元 IJavaPeerable) |
明示的なインターフェイスの実装
IIterable.Spliterator() |
|
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
両端の要素の挿入と削除をサポートする線形コレクション。 |
GetJniTypeName(IJavaPeerable) |
両端の要素の挿入と削除をサポートする線形コレクション。 |
ToEnumerable(IIterable) |
両端の要素の挿入と削除をサポートする線形コレクション。 |
ToEnumerable<T>(IIterable) |
両端の要素の挿入と削除をサポートする線形コレクション。 |