Freigeben über


IQueue Schnittstelle

Definition

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 falseein 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 QueueElement 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 Collection keine Elemente enthält.

(Geerbt von ICollection)
JniIdentityHashCode

Gibt den Wert java.lang.System.identityHashCode() für die umbrochene Instanz zurück.

(Geerbt von IJavaPeerable)
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 IllegalStateException Wenn zurzeit kein Speicherplatz verfügbar ist, auszulösentrue.

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 true , wenn diese Auflistung das angegebene Element enthält.

(Geerbt von ICollection)
ContainsAll(ICollection)

Gibt zurück true , wenn diese Auflistung alle Elemente in der angegebenen Auflistung enthält.

(Geerbt von ICollection)
Disposed()

Wird aufgerufen, wenn die Instanz verworfen wurde.

(Geerbt von IJavaPeerable)
DisposeUnlessReferenced()

Wenn keine offenen Verweise auf diese Instanz vorhanden sind, wird nichts aufgerufen Dispose(). Andernfalls wird nichts ausgeführt.

(Geerbt von IJavaPeerable)
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 Iterable Elemente aus, bis alle Elemente verarbeitet wurden, oder die Aktion löst eine Ausnahme aus.

(Geerbt von IIterable)
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 null , wenn diese Warteschlange leer ist.

Poll()

Ruft den Kopf dieser Warteschlange ab und entfernt sie oder gibt zurück null , wenn diese Warteschlange leer ist.

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 JniIdentityHashCode.

(Geerbt von IJavaPeerable)
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 PeerReference.

(Geerbt von IJavaPeerable)
Size()

Gibt die Anzahl der Elemente in dieser Auflistung zurück.

(Geerbt von ICollection)
Spliterator()

Erstellt eine Spliterator über den hier Iterablebeschriebenen Elemente.

(Geerbt von IIterable)
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 generator Funktion verwendet wird, um das zurückgegebene Array zuzuweisen.

(Geerbt von ICollection)
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 Spliterator Übergabe der Elemente in dieser Auflistung.

(Geerbt von ICollection)

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.

Gilt für: