IDeque Interface
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 |
| JniIdentityHashCode |
Retourne la valeur de |
| 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 |
| 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 |
| 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 |
| Clear() |
Supprime tous les éléments de cette collection (opération facultative). (Hérité de ICollection) |
| Contains(Object) |
Retourne |
| ContainsAll(ICollection) |
Retourne |
| 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 |
| 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’à |
| 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 |
| 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 |
| PeekFirst() |
Récupère, mais ne supprime pas, le premier élément de cette file d’attente ou retourne |
| PeekLast() |
Récupère, mais ne supprime pas, le dernier élément de cette file d’attente ou retourne |
| 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 |
| PollFirst() |
Récupère et supprime le premier élément de cette file d’attente, ou retourne |
| PollLast() |
Récupère et supprime le dernier élément de cette file d’attente, ou retourne |
| 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 |
| 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 |
| 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 |
| Size() |
Retourne le nombre d’éléments de cette file d’attente. |
| Spliterator() |
Crée un |
| 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 |
| 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 |
| ISequencedCollection.Reversed() |
À ajouter |
Méthodes d’extension
| Nom | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtient le nom JNI du type de l’instance |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| 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 |