IQueue 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 Sammlung, die für das Halten von Elementen vor der Verarbeitung konzipiert ist.
[Android.Runtime.Register("java/util/Queue", "", "Java.Util.IQueueInvoker")]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public interface IQueue : IDisposable, Java.Interop.IJavaPeerable, Java.Util.ICollection
[<Android.Runtime.Register("java/util/Queue", "", "Java.Util.IQueueInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type IQueue = interface
interface ICollection
interface IIterable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Abgeleitet
- Attribute
- Implementiert
Hinweise
Eine Sammlung, die für das Halten von Elementen vor der Verarbeitung konzipiert ist. Neben grundlegenden Collection
Vorgängen bieten Warteschlangen zusätzliche Einfüge-, Extraktions- und Inspektionsvorgänge. 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 Queue
Implementierungen entwickelt. In den meisten Implementierungen können Einfügevorgänge nicht fehlschlagen.
<table class="striped">caption Summary of Queue methods</caption><thead><tr><td/td>><< th scope="col" style="font-weight:normal; font-style:italic">Throws exception</th th<>scope="col" style="font-weight:normal; font-style:italic">Returns special value</th<>/tr/thead><tbody><tr<<>> th scope="row">Insert</th<>><td>#add(Object) add(e)
</td/td<#offer(Object) offer(e)
><>/td></tr tr<><>th scope="row">Remove</th><td/td>#remove() remove()
< td/td<>>#poll() poll()
</td>< tr>><<th scope="row">Examine</th<>td><#element() element()
/td></td><#peek() peek()
<>/tr/tr<>/tbody></table>
Warteschlangen sind in der Regel, aber nicht notwendigerweise, ordnen Elemente auf eine FIFO-Weise (first-in-first-out) an. Zu den Ausnahmen gehören Prioritätswarteschlangen, die Elemente nach einem bereitgestellten Vergleichselement oder der natürlichen Anordnung der Elemente bestellen, und LIFO-Warteschlangen (oder Stapel), die die Elemente LIFO (last-in-first-out) anordnen. Unabhängig von der verwendeten Sortierung ist die <Em-Kopf></Em> der Warteschleife das Element, das von einem Anruf oder #poll()
einem Anruf #remove()
entfernt werden würde. In einer FIFO-Warteschlange werden alle neuen Elemente am <Em-Tail></em> der Warteschlange eingefügt. Andere Arten von Warteschlangen können unterschiedliche Platzierungsregeln verwenden. Jede Queue
Implementierung muss ihre Sortiereigenschaften angeben.
Die #offer offer
Methode fügt nach Möglichkeit ein Element ein, andernfalls wird false
ein Element zurückgegeben. Dies unterscheidet sich von der java.util.Collection#add Collection.add
Methode, die ein Element nur durch Auslösen einer deaktivierten Ausnahme nicht hinzufügen kann. Die offer
Methode ist für die Verwendung vorgesehen, wenn ein Fehler ein normales und nicht außergewöhnliches Vorkommen ist, z. B. in fester Kapazität (oder " gebunden") warteschlangen.
Die #remove()
Methoden #poll()
entfernen und geben den Kopf der Warteschlange zurück. Genau welches Element aus der Warteschlange entfernt wird, ist eine Funktion der Sortierrichtlinie der Warteschlange, die sich von Implementierung zu Implementierung unterscheidet. Die remove()
Methoden und poll()
Methoden unterscheiden sich nur in ihrem Verhalten, wenn die Warteschlange leer ist: Die remove()
Methode löst eine Ausnahme aus, während die poll()
Methode zurückgegeben wird null
.
Die #element()
Methoden #peek()
geben den Kopf der Warteschlange zurück, entfernen aber nicht.
Die Queue
Schnittstelle definiert nicht die blockierenden Warteschlangenmethoden, die bei der gleichzeitigen Programmierung üblich sind. Diese Methoden, die darauf warten, dass Elemente angezeigt werden oder platz verfügbar sind, werden in der java.util.concurrent.BlockingQueue
Schnittstelle definiert, die diese Schnittstelle erweitert.
Queue
Implementierungen lassen im Allgemeinen keine Einfügung von null
Elementen zu, obwohl einige Implementierungen, z LinkedList
. B. , das Einfügen von Elementen nicht verbieten null
. Auch in den Implementierungen, die dies zulassen, null
sollte nicht in ein Queue
Element eingefügt werden, wie null
es auch als spezieller Rückgabewert von der poll
Methode verwendet wird, um anzugeben, dass die Warteschlange keine Elemente enthält.
Queue
Implementierungen definieren in der Regel keine elementbasierten Versionen von Methoden equals
und hashCode
erben stattdessen die identitätsbasierten Versionen von der Klasse Object
, da die elementbasierte Gleichheit für Warteschlangen mit denselben Elementen, aber unterschiedliche Sortiereigenschaften nicht immer gut definiert ist.
Hinzugefügt in 1.5.
Java-Dokumentation für java.util.Queue
.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Eigenschaften
Handle |
Ruft den JNI-Wert des zugrunde liegenden Android-Objekts ab. (Geerbt von IJavaObject) |
IsEmpty |
Gibt zurück, wenn dies |
JniIdentityHashCode |
Gibt den Wert |
JniManagedPeerState |
Status des verwalteten Peers. (Geerbt von IJavaPeerable) |
JniPeerMembers |
Mitgliedszugriff und Aufrufunterstützung. (Geerbt von IJavaPeerable) |
PeerReference |
Gibt eine JniObjectReference der umbrochenen Java-Objektinstanz zurück. (Geerbt von IJavaPeerable) |
Methoden
Add(Object) |
Fügt das angegebene Element in diese Warteschlange ein, wenn es möglich ist, dies sofort zu tun, ohne Kapazitätsbeschränkungen zu verletzen, bei Erfolg zurückzukehren und einen |
AddAll(ICollection) |
Fügt alle Elemente in der angegebenen Auflistung dieser Auflistung hinzu (optionaler Vorgang). (Geerbt von ICollection) |
Clear() |
Entfernt alle Elemente aus dieser Auflistung (optionaler Vorgang). (Geerbt von ICollection) |
Contains(Object) |
Gibt zurück |
ContainsAll(ICollection) |
Gibt 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 dieser Warteschlange ab, entfernt sie jedoch nicht. |
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 |
GetHashCode() |
Gibt den Hashcodewert für diese Auflistung zurück. (Geerbt von ICollection) |
Iterator() |
Gibt einen Iterator für die Elemente in dieser Auflistung zurück. (Geerbt von ICollection) |
Offer(Object) |
Fügt das angegebene Element in diese Warteschlange ein, wenn dies möglich ist, ohne Kapazitätsbeschränkungen zu verletzen. |
Peek() |
Ruft den Kopf dieser Warteschlange ab, entfernt sie jedoch nicht oder gibt zurück |
Poll() |
Ruft den Kopf dieser Warteschlange ab und entfernt sie oder gibt zurück |
Remove() |
Ruft den Kopf dieser Warteschlange ab und entfernt sie. |
Remove(Object) |
Entfernt eine einzelne Instanz des angegebenen Elements aus dieser Auflistung, wenn es vorhanden ist (optionaler Vorgang). (Geerbt von ICollection) |
RemoveAll(ICollection) |
Entfernt alle Elemente dieser Auflistung, die auch in der angegebenen Auflistung enthalten sind (optionaler Vorgang). (Geerbt von ICollection) |
RemoveIf(IPredicate) |
Entfernt alle Elemente dieser Auflistung, die das angegebene Prädikat erfüllen. (Geerbt von ICollection) |
RetainAll(ICollection) |
Behält nur die Elemente in dieser Auflistung bei, die in der angegebenen Auflistung enthalten sind (optionaler Vorgang). (Geerbt von ICollection) |
SetJniIdentityHashCode(Int32) |
Legen Sie den von |
SetJniManagedPeerState(JniManagedPeerStates) |
Eine Sammlung, die für das Halten von Elementen vor der Verarbeitung konzipiert ist. (Geerbt von IJavaPeerable) |
SetPeerReference(JniObjectReference) |
Legen Sie den von |
Size() |
Gibt die Anzahl der Elemente in dieser Auflistung zurück. (Geerbt von ICollection) |
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
IIterable.Spliterator() |
Erstellt eine |
Erweiterungsmethoden
JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
JavaCast<TResult>(IJavaObject) |
Eine Sammlung, die für das Halten von Elementen vor der Verarbeitung konzipiert ist. |
GetJniTypeName(IJavaPeerable) |
Eine Sammlung, die für das Halten von Elementen vor der Verarbeitung konzipiert ist. |
ToEnumerable(IIterable) |
Eine Sammlung, die für das Halten von Elementen vor der Verarbeitung konzipiert ist. |
ToEnumerable<T>(IIterable) |
Eine Sammlung, die für das Halten von Elementen vor der Verarbeitung konzipiert ist. |