Langage

IDeque Interface

Définition

Collection linéaire qui prend en charge l’insertion et la suppression d’éléments aux deux extrémités.

[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
Dérivé
Attributs
Implémente

Remarques

Collection linéaire qui prend en charge l’insertion et la suppression d’éléments aux deux extrémités. Le nom de la file d’attente est court pour « file d’attente double terminée » et est généralement prononcé « deck ». La plupart des Deque implémentations n’imposent aucune limite fixe au nombre d’éléments qu’elles peuvent contenir, mais cette interface prend en charge les plages de capacité restreintes ainsi que celles sans limite de taille fixe.

Cette interface définit les méthodes permettant d’accéder aux éléments aux deux extrémités de la file d’attente. Les méthodes sont fournies pour insérer, supprimer et examiner l’élément. Chacune de ces méthodes existe sous deux formes : l’une lève une exception si l’opération échoue, l’autre retourne une valeur spéciale (soit nullfalse, selon l’opération). La dernière forme de l’opération d’insertion est conçue spécifiquement pour une utilisation avec des implémentations limitées Deque à la capacité ; dans la plupart des implémentations, les opérations d’insertion ne peuvent pas échouer.

Les douze méthodes décrites ci-dessus sont résumées dans le tableau suivant :

<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 td><>/td td/td td/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><>#pollFirst() pollFirst()</td/><>#removeLast() removeLast()<td><>#pollLast() pollLast()</td/td></tr tr><><th scope="row">Examine</th><td>#getFirst() getFirst()</td><>#peekFirst() peekFirst()</td></td/td>#getLast() getLast()<><td>#peekLast() peekLast()</td></tr/tbody><></table>

Cette interface étend l’interface Queue . Lorsqu’une file d’attente est utilisée comme file d’attente, le comportement FIFO (First-In-First-Out) se produit. Les éléments sont ajoutés à la fin de la file d’attente et supprimés du début. Les méthodes héritées de l’interface Queue sont exactement équivalentes aux Deque méthodes indiquées dans le tableau suivant :

<table class="striped"><>caption Comparison of Queue and Deque methods</caption><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)<></tr tr><><th scope="row"/th scope="row">#offer(Object) offer(e)</th><td>#offerLast(Object) offerLast(e)</td></tr tr><><th scope="row">#remove() remove()</th><td>#removeFirst() removeFirst()</td></tr tr><><th scope="row">#poll() poll()</th><td>#pollFirst() pollFirst()<></tr tr><><th scope="row">#element() element()</th><td>#getFirst() getFirst()</td/tr><><>< th scope="row">#peek() peek()</th><td>#peekFirst() peekFirst()</td></tr/tbody><></table>

Deques peut également être utilisé comme piles LIFO (Last-In-First-Out). Cette interface doit être utilisée en préférence pour la classe héritée Stack . Lorsqu’une file d’attente est utilisée comme pile, les éléments sont poussés et dépilés à partir du début de la file d’attente. Les méthodes de pile sont équivalentes aux Deque méthodes indiquées dans le tableau ci-dessous :

<table class="striped"><>caption Comparison of Stack and Deque methods</caption><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)<></tr tr><><th scope="row"/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>

Notez que la #peek peek méthode fonctionne également bien lorsqu’une file d’attente est utilisée comme file d’attente ou une pile ; dans les deux cas, les éléments sont dessinés à partir du début de la file d’attente.

Cette interface fournit deux méthodes pour supprimer les éléments intérieurs et #removeFirstOccurrence removeFirstOccurrence#removeLastOccurrence removeLastOccurrence.

Contrairement à l’interface List , cette interface ne prend pas en charge l’accès indexé aux éléments.

Bien que Deque les implémentations ne soient pas strictement requises pour interdire l’insertion d’éléments Null, elles sont fortement encouragées à le faire. Les utilisateurs de toutes Deque les implémentations qui autorisent des éléments Null sont fortement encouragés à ne pas tirer parti de la possibilité d’insérer des valeurs Null. Cela est dû au fait qu’il null est utilisé comme valeur de retour spéciale par différentes méthodes pour indiquer que la file d’attente est vide.

Deque Les implémentations ne définissent généralement pas les versions basées sur des éléments des equalshashCode méthodes, mais héritent plutôt des versions basées sur l’identité de la classe Object.

Ajouté dans la version 1.6.

Java documentation pour java.util.Deque.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Propriétés

Nom Description
First

Récupère, mais ne supprime pas, le premier élément de cette file d’attente.

Handle

Obtient la valeur JNI de l’objet Android sous-jacent.

(Hérité de IJavaObject)
IsEmpty

Retourne true si cela Collection ne contient aucun élément.

(Hérité de ICollection)
JniIdentityHashCode

Retourne la valeur de java.lang.System.identityHashCode() l’instance encapsulée.

(Hérité de IJavaPeerable)
JniManagedPeerState

État de l’homologue managé.

(Hérité de IJavaPeerable)
JniObjectReferenceControlBlock

Collection linéaire qui prend en charge l’insertion et la suppression d’éléments aux deux extrémités.

(Hérité de IJavaPeerable)
JniPeerMembers

Prise en charge de l’accès aux membres et de l’appel.

(Hérité de IJavaPeerable)
Last

Récupère, mais ne supprime pas, le dernier élément de cette file d’attente.

PeerReference

Retourne une JniObjectReference instance d’objet Java encapsulée.

(Hérité de IJavaPeerable)

Méthodes

Nom Description
Add(Object)

Insère l’élément spécifié dans la file d’attente représentée par cette file d’attente (en d’autres termes, à la fin de cette file d’attente) s’il est possible de le faire immédiatement sans violer les restrictions de capacité, retourner true en cas de réussite et lever un IllegalStateException espace si aucun espace n’est actuellement disponible.

AddAll(ICollection)

Ajoute tous les éléments de la collection spécifiée à cette collection (opération facultative).

(Hérité de ICollection)
AddFirst(Object)

Insère l’élément spécifié à l’avant de cette file d’attente s’il est possible de le faire immédiatement sans violer les restrictions de capacité, lève un IllegalStateException espace si aucun espace n’est actuellement disponible.

AddLast(Object)

Insère l’élément spécifié à la fin de cette file d’attente s’il est possible de le faire immédiatement sans violer les restrictions de capacité, lève un IllegalStateException espace si aucun espace n’est actuellement disponible.

Clear()

Supprime tous les éléments de cette collection (opération facultative).

(Hérité de ICollection)
Contains(Object)

Retourne true si cette file d’attente contient l’élément spécifié.

ContainsAll(ICollection)

Retourne true si cette collection contient tous les éléments de la collection spécifiée.

(Hérité de ICollection)
DescendingIterator()

Retourne un itérateur sur les éléments de cette file d’attente dans l’ordre séquentiel inverse.

Disposed()

Appelé lorsque l’instance a été supprimée.

(Hérité de IJavaPeerable)
DisposeUnlessReferenced()

S’il n’existe aucune référence en suspens à cette instance, les appels Dispose(); sinon, ne fait rien.

(Hérité de IJavaPeerable)
Element()

Récupère, mais ne supprime pas, la tête de la file d’attente représentée par cette file d’attente (en d’autres termes, le premier élément de cette file d’attente).

Equals(Object)

Compare l’objet spécifié à cette collection pour l’égalité.

(Hérité de ICollection)
Finalized()

Appelé lorsque l’instance a été finalisée.

(Hérité de IJavaPeerable)
ForEach(IConsumer)

Exécute l’action donnée pour chaque élément jusqu’à Iterable ce que tous les éléments aient été traités ou que l’action lève une exception.

(Hérité de IIterable)
GetFirst()

Obtient le premier élément de cette collection.

(Hérité de ISequencedCollection)
GetHashCode()

Retourne la valeur du code de hachage pour cette collection.

(Hérité de ICollection)
GetLast()

Obtient le dernier élément de cette collection.

(Hérité de ISequencedCollection)
Iterator()

Retourne un itérateur sur les éléments de cette file d’attente dans une séquence appropriée.

Offer(Object)

Insère l’élément spécifié dans la file d’attente représentée par cette file d’attente (en d’autres termes, à la fin de cette file d’attente) s’il est possible de le faire immédiatement sans violer les restrictions de capacité, en retournant true en cas de réussite et false si aucun espace n’est actuellement disponible.

OfferFirst(Object)

Insère l’élément spécifié à l’avant de cette file d’attente, sauf s’il enfreint les restrictions de capacité.

OfferLast(Object)

Insère l’élément spécifié à la fin de cette file d’attente, sauf s’il enfreint les restrictions de capacité.

Peek()

Récupère, mais ne supprime pas, la tête de la file d’attente représentée par cette file d’attente (en d’autres termes, le premier élément de cette file d’attente) ou retourne null si cette file d’attente est vide.

PeekFirst()

Récupère, mais ne supprime pas, le premier élément de cette file d’attente ou retourne null si cette file d’attente est vide.

PeekLast()

Récupère, mais ne supprime pas, le dernier élément de cette file d’attente ou retourne null si cette file d’attente est vide.

Poll()

Récupère et supprime la tête de la file d’attente représentée par cette file d’attente (en d’autres termes, le premier élément de cette file d’attente) ou retourne null si cette file d’attente est vide.

PollFirst()

Récupère et supprime le premier élément de cette file d’attente, ou retourne null si cette file d’attente est vide.

PollLast()

Récupère et supprime le dernier élément de cette file d’attente, ou retourne null si cette file d’attente est vide.

Pop()

Affiche un élément de la pile représentée par cette file d’attente.

Push(Object)

Pousse un élément sur la pile représentée par cette file d’attente (en d’autres termes, à la tête de cette file d’attente) s’il est possible de le faire immédiatement sans violer les restrictions de capacité, lève un IllegalStateException espace si aucun espace n’est actuellement disponible.

Remove()

Récupère et supprime la tête de la file d’attente représentée par cette file d’attente (en d’autres termes, le premier élément de cette file d’attente).

Remove(Object)

Supprime la première occurrence de l’élément spécifié de cette file d’attente.

RemoveAll(ICollection)

Supprime tous les éléments de cette collection qui sont également contenus dans la collection spécifiée (opération facultative).

(Hérité de ICollection)
RemoveFirst()

Récupère et supprime le premier élément de cette file d’attente.

RemoveFirstOccurrence(Object)

Supprime la première occurrence de l’élément spécifié de cette file d’attente.

RemoveIf(IPredicate)

Supprime tous les éléments de cette collection qui répondent au prédicat donné.

(Hérité de ICollection)
RemoveLast()

Récupère et supprime le dernier élément de cette file d’attente.

RemoveLastOccurrence(Object)

Supprime la dernière occurrence de l’élément spécifié de cette file d’attente.

RetainAll(ICollection)

Conserve uniquement les éléments de cette collection contenus dans la collection spécifiée (opération facultative).

(Hérité de ICollection)
Reversed()

Retourne une vue inversée de cette collection.

(Hérité de ISequencedCollection)
SetJniIdentityHashCode(Int32)

Définissez la valeur retournée par JniIdentityHashCode.

(Hérité de IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Collection linéaire qui prend en charge l’insertion et la suppression d’éléments aux deux extrémités.

(Hérité de IJavaPeerable)
SetPeerReference(JniObjectReference)

Définissez la valeur retournée par PeerReference.

(Hérité de IJavaPeerable)
Size()

Retourne le nombre d’éléments de cette file d’attente.

Spliterator()

Crée un Spliterator sur les éléments décrits par ce Iterable.

(Hérité de IIterable)
ToArray()

Retourne un tableau contenant tous les éléments de cette collection.

(Hérité de ICollection)
ToArray(IIntFunction)

Retourne un tableau contenant tous les éléments de cette collection, à l’aide de la fonction fournie generator pour allouer le tableau retourné.

(Hérité de ICollection)
ToArray(Object[])

Retourne un tableau contenant tous les éléments de cette collection ; le type d’exécution du tableau retourné est celui du tableau spécifié.

(Hérité de ICollection)
UnregisterFromRuntime()

Annulez l’inscription de cette instance afin que le runtime ne le retourne pas à partir d’appels futurs Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Hérité de IJavaPeerable)

Implémentations d’interfaces explicites

Nom Description
IIterable.Spliterator()

Crée un Spliterator sur les éléments de cette collection.

(Hérité de ICollection)
ISequencedCollection.Reversed()

À ajouter

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Collection linéaire qui prend en charge l’insertion et la suppression d’éléments aux deux extrémités.

ToEnumerable(IIterable)

Collection linéaire qui prend en charge l’insertion et la suppression d’éléments aux deux extrémités.

ToEnumerable<T>(IIterable)

Collection linéaire qui prend en charge l’insertion et la suppression d’éléments aux deux extrémités.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à