IDeque Schnittstelle
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Eine lineare Auflistung, die das Einfügen und Entfernen von Elementen an beiden Enden unterstützt.
[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, Java.Util.ISequencedCollection
[<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
interface ISequencedCollection
- Abgeleitet
- Attribute
- Implementiert
Hinweise
Eine lineare Auflistung, die das Einfügen und Entfernen von Elementen an beiden Enden unterstützt. Der Name deque ist kurz für "doppelende Warteschlange" und wird in der Regel als "Deck" ausgesprochen. Die meisten Deque Implementierungen setzen keine festen Grenzwerte für die Anzahl der Elemente, die sie enthalten können, aber diese Schnittstelle unterstützt kapazitätsbeschränkte Deques sowie solche ohne feste Größenbeschränkung.
Diese Schnittstelle definiert Methoden für den Zugriff auf die Elemente an beiden Enden der Deque. Methoden werden bereitgestellt, um das Element einzufügen, zu entfernen und zu untersuchen. Jede dieser Methoden ist in zwei Formen vorhanden: Eine löst eine Ausnahme aus, wenn der Vorgang fehlschlägt, gibt die andere einen speziellen Wert (entweder null oder false, je nach Vorgang) zurück. Die letztere Form des Einfügevorgangs wurde speziell für die Verwendung mit kapazitätsbeschränkten Deque Implementierungen entwickelt. In den meisten Implementierungen können Einfügevorgänge nicht fehlschlagen.
Die oben beschriebenen zwölf Methoden sind in der folgenden Tabelle zusammengefasst:
<table class="striped">caption Summary of Deque methods</caption><thead><tr><td rowspan="2">/td<><th scope="colspan="2"> First Element (Head)</th th><scope="colspan="2"> Last Element (Tail)</th></tr tr><><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 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><>#offerFirst(Object) offerFirst(e)<><>#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>#removeLast() removeLast()</td/td/td><>#pollLast() pollLast()<></tr tr><><th scope="row">Examine</th><td>#getFirst() getFirst()</td><td>#peekFirst() peekFirst()</td><td>#getLast() getLast()</t><td>#peekLast() peekLast()</td></tr></tbody></table>
Diese Schnittstelle erweitert die Queue Schnittstelle. Wenn eine Deque als Warteschlange verwendet wird, ergibt sich das FIFO-Verhalten (First-In-First-Out) verhalten. Elemente werden am Ende der Deque hinzugefügt und von Anfang an entfernt. Die von der Queue Schnittstelle geerbten Methoden entsprechen genau Deque den Methoden, wie in der folgenden Tabelle angegeben:
<table class="striped">caption Comparison of Queue and Deque methods</caption><thead><tr><th scope="col">< Method>/th thQueue<scope="col"> Equivalent < Method>/thDeque</tr/thead><tbody><tr><>< th scope="row"><>/th#add(Object) add(e)<td><>/td#addLast(Object) addLast(e)</tr tr><><th scope="row"><>/th#offer(Object) offer(e)<><td>#offerLast(Object) offerLast(e)</td></tr tr><><th scope="row">#remove() remove()</th><td/td>#removeFirst() removeFirst()<></tr 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 können auch als LIFO -Stapel (Last-In-First-Out) verwendet werden. Diese Schnittstelle sollte vor der Legacyklasse Stack verwendet werden. Wenn eine Deque als Stapel verwendet wird, werden Elemente vom Anfang der Deque verschoben und eingetaucht. Stapelmethoden entsprechen Methoden wie Deque in der folgenden Tabelle angegeben:
<table class="striped">caption Comparison of Stack and Deque methods</caption><thead><tr><th scope="col"> Stack Method</th th><scope="col"> Equivalent < Method>/thDeque</tr/thead><tbody><tr><>< th scope="row"><>/th#push(Object) push(e)<td><>/td#addFirst(Object) addFirst(e)</tr tr><><th scope="row"><>/th#pop() pop()<><td>#removeFirst() removeFirst()</td></tr tr><><th scope="row">#peek() peek()</th><td/td>#getFirst() getFirst()<></tr></tbody></table>
Beachten Sie, dass die #peek peek Methode gleichermaßen gut funktioniert, wenn eine Deque als Warteschlange oder stapel verwendet wird. In beiden Fällen werden Elemente vom Anfang der Deque gezeichnet.
Diese Schnittstelle bietet zwei Methoden zum Entfernen von Innenelementen #removeFirstOccurrence removeFirstOccurrence und #removeLastOccurrence removeLastOccurrence.
List Im Gegensatz zur Schnittstelle bietet diese Schnittstelle keine Unterstützung für den indizierten Zugriff auf Elemente.
Deque Implementierungen sind zwar nicht unbedingt erforderlich, um das Einfügen von NULL-Elementen zu verbieten, sie werden jedoch dringend empfohlen, dies zu tun. Benutzer von Deque Implementierungen, die NULL-Elemente zulassen, werden dringend empfohlen, die Möglichkeit zum Einfügen von Nullen nicht zu nutzen. Dies liegt daran, dass null sie von verschiedenen Methoden als spezieller Rückgabewert verwendet wird, um anzugeben, dass die Deque leer ist.
Deque Implementierungen definieren in der Regel keine elementbasierten Versionen der equals Und hashCode Methoden, sondern erben die identitätsbasierten Versionen von der Klasse Object.
In 1.6 hinzugefügt.
Java Dokumentation für java.util.Deque.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Eigenschaften
| Name | Beschreibung |
|---|---|
| First |
Ruft das erste Element dieser Deque ab, entfernt jedoch nicht. |
| Handle |
Ruft den JNI-Wert des zugrunde liegenden Android-Objekts ab. (Geerbt von IJavaObject) |
| IsEmpty |
Gibt zurück |
| JniIdentityHashCode |
Gibt den Wert |
| JniManagedPeerState |
Status des verwalteten Peers. (Geerbt von IJavaPeerable) |
| JniObjectReferenceControlBlock |
Eine lineare Auflistung, die das Einfügen und Entfernen von Elementen an beiden Enden unterstützt. (Geerbt von IJavaPeerable) |
| JniPeerMembers |
Mitgliedszugriff und Aufrufunterstützung. (Geerbt von IJavaPeerable) |
| Last |
Ruft das letzte Element dieser Deque ab, entfernt jedoch nicht. |
| PeerReference |
Gibt eine JniObjectReference der umbrochenen Java Objektinstanz zurück. (Geerbt von IJavaPeerable) |
Methoden
| Name | Beschreibung |
|---|---|
| Add(Object) |
Fügt das angegebene Element in die Warteschlange ein, die durch diese Deque dargestellt wird (d. h. am Ende dieser Deque), wenn dies sofort möglich ist, ohne kapazitätseinschränkende Einschränkungen zu verletzen, beim Erfolg zurückzukehren und einen |
| AddAll(ICollection) |
Fügt alle Elemente in der angegebenen Auflistung dieser Auflistung hinzu (optionaler Vorgang). (Geerbt von ICollection) |
| AddFirst(Object) |
Fügt das angegebene Element an der Vorderseite dieser Deque ein, wenn es möglich ist, dies sofort zu tun, ohne Kapazitätsbeschränkungen zu verletzen, wenn |
| AddLast(Object) |
Fügt das angegebene Element am Ende dieser Deque ein, wenn es möglich ist, dies sofort zu tun, ohne Kapazitätsbeschränkungen zu verletzen, wenn |
| Clear() |
Entfernt alle Elemente aus dieser Auflistung (optionaler Vorgang). (Geerbt von ICollection) |
| Contains(Object) |
Gibt zurück |
| ContainsAll(ICollection) |
Gibt zurück |
| DescendingIterator() |
Gibt einen Iterator über die Elemente in dieser Deque in umgekehrter sequenzieller Reihenfolge zurück. |
| Disposed() |
Wird aufgerufen, wenn die Instanz verworfen wurde. (Geerbt von IJavaPeerable) |
| DisposeUnlessReferenced() |
Wenn keine offenen Verweise auf diese Instanz vorhanden sind, wird nichts aufgerufen |
| Element() |
Ruft den Kopf der Warteschlange ab, die durch diese Deque dargestellt wird(d. r. das erste Element dieser Deque). |
| Equals(Object) |
Vergleicht das angegebene Objekt mit dieser Auflistung für die Gleichheit. (Geerbt von ICollection) |
| Finalized() |
Wird aufgerufen, wenn die Instanz abgeschlossen wurde. (Geerbt von IJavaPeerable) |
| ForEach(IConsumer) |
Führt die angegebene Aktion für jedes Element der |
| GetFirst() |
Ruft das erste Element dieser Auflistung ab. (Geerbt von ISequencedCollection) |
| GetHashCode() |
Gibt den Hashcodewert für diese Auflistung zurück. (Geerbt von ICollection) |
| GetLast() |
Ruft das letzte Element dieser Auflistung ab. (Geerbt von ISequencedCollection) |
| Iterator() |
Gibt einen Iterator über die Elemente in dieser Deque in der richtigen Reihenfolge zurück. |
| Offer(Object) |
Fügt das angegebene Element in die Warteschlange ein, die durch diese Deque dargestellt wird (d. h. am Ende dieser Deque), wenn dies sofort möglich ist, ohne kapazitätseinschränkende Einschränkungen zu verletzen, bei Erfolg zurückzukehren |
| OfferFirst(Object) |
Fügt das angegebene Element an der Vorderseite dieser Warteschlange ein, es sei denn, es würde Kapazitätsbeschränkungen verletzen. |
| OfferLast(Object) |
Fügt das angegebene Element am Ende dieser Deque ein, es sei denn, es würde Kapazitätsbeschränkungen verletzen. |
| Peek() |
Ruft den Kopf der Warteschlange ab, die durch diese Deque dargestellt wird (d. h. das erste Element dieser Deque), oder gibt zurück |
| PeekFirst() |
Ruft ab, entfernt jedoch nicht das erste Element dieser Deque oder gibt zurück |
| PeekLast() |
Ruft das letzte Element dieser Deque ab, entfernt sie jedoch nicht, oder gibt zurück |
| Poll() |
Ruft den Kopf der Warteschlange ab und entfernt sie, die durch diese Deque dargestellt wird (d. h. das erste Element dieser Deque), oder gibt zurück |
| PollFirst() |
Ruft das erste Element dieser Deque ab und entfernt es oder gibt zurück |
| PollLast() |
Ruft das letzte Element dieser Deque ab und entfernt es oder gibt zurück |
| Pop() |
Pops an element from the stack represented by this deque. |
| Push(Object) |
Verschiebt ein Element auf den Stapel, der durch diese Deque dargestellt wird (d. h. an der Spitze dieser Deque), wenn es möglich ist, dies sofort zu tun, ohne Kapazitätsbeschränkungen zu verletzen, ein |
| Remove() |
Ruft den Kopf der Warteschlange ab und entfernt sie, die durch diese Deque dargestellt wird (also das erste Element dieser Deque). |
| Remove(Object) |
Entfernt das erste Vorkommen des angegebenen Elements aus dieser Deque. |
| RemoveAll(ICollection) |
Entfernt alle Elemente dieser Auflistung, die auch in der angegebenen Auflistung enthalten sind (optionaler Vorgang). (Geerbt von ICollection) |
| RemoveFirst() |
Ruft das erste Element dieser Deque ab und entfernt es. |
| RemoveFirstOccurrence(Object) |
Entfernt das erste Vorkommen des angegebenen Elements aus dieser Deque. |
| RemoveIf(IPredicate) |
Entfernt alle Elemente dieser Auflistung, die das angegebene Prädikat erfüllen. (Geerbt von ICollection) |
| RemoveLast() |
Ruft das letzte Element dieser Deque ab und entfernt es. |
| RemoveLastOccurrence(Object) |
Entfernt das letzte Vorkommen des angegebenen Elements aus dieser Deque. |
| RetainAll(ICollection) |
Behält nur die Elemente in dieser Auflistung bei, die in der angegebenen Auflistung enthalten sind (optionaler Vorgang). (Geerbt von ICollection) |
| Reversed() |
Gibt eine umgekehrt sortierte Ansicht dieser Auflistung zurück. (Geerbt von ISequencedCollection) |
| SetJniIdentityHashCode(Int32) |
Legen Sie den von |
| SetJniManagedPeerState(JniManagedPeerStates) |
Eine lineare Auflistung, die das Einfügen und Entfernen von Elementen an beiden Enden unterstützt. (Geerbt von IJavaPeerable) |
| SetPeerReference(JniObjectReference) |
Legen Sie den von |
| Size() |
Gibt die Anzahl der Elemente in dieser Deque zurück. |
| Spliterator() |
Erstellt eine |
| ToArray() |
Gibt ein Array zurück, das alle Elemente in dieser Auflistung enthält. (Geerbt von ICollection) |
| ToArray(IIntFunction) |
Gibt ein Array zurück, das alle Elemente in dieser Auflistung enthält, wobei die bereitgestellte |
| ToArray(Object[]) |
Gibt ein Array zurück, das alle Elemente in dieser Auflistung enthält; Der Laufzeittyp des zurückgegebenen Arrays ist die des angegebenen Arrays. (Geerbt von ICollection) |
| UnregisterFromRuntime() |
Heben Sie die Registrierung dieser Instanz auf, damit die Laufzeit sie nicht aus zukünftigen Java.Interop.JniRuntime+JniValueManager.PeekValue Aufrufen zurückgibt. (Geerbt von IJavaPeerable) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IIterable.Spliterator() |
Erstellt eine |
| ISequencedCollection.Reversed() |
Soll hinzugefügt werden |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ruft den JNI-Namen des Typs der Instanz |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
| JavaCast<TResult>(IJavaObject) |
Eine lineare Auflistung, die das Einfügen und Entfernen von Elementen an beiden Enden unterstützt. |
| ToEnumerable(IIterable) |
Eine lineare Auflistung, die das Einfügen und Entfernen von Elementen an beiden Enden unterstützt. |
| ToEnumerable<T>(IIterable) |
Eine lineare Auflistung, die das Einfügen und Entfernen von Elementen an beiden Enden unterstützt. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Versuchen Sie, die Eingabe |