Lenguaje

IDeque Interfaz

Definición

Colección lineal que admite la inserción y eliminación de elementos en ambos extremos.

[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
Derivado
Atributos
Implementaciones

Comentarios

Colección lineal que admite la inserción y eliminación de elementos en ambos extremos. El nombre deque es corto para "cola de doble fin" y normalmente se pronuncia "deck". La mayoría Deque de las implementaciones no tienen límites fijos en el número de elementos que pueden contener, pero esta interfaz admite deques restringidos por capacidad, así como aquellas sin límite de tamaño fijo.

Esta interfaz define métodos para acceder a los elementos en ambos extremos del deque. Se proporcionan métodos para insertar, quitar y examinar el elemento. Cada uno de estos métodos existe en dos formas: una produce una excepción si se produce un error en la operación, la otra devuelve un valor especial (ya sea null o false, dependiendo de la operación). La última forma de la operación de inserción está diseñada específicamente para su uso con implementaciones restringidas a Deque la capacidad; en la mayoría de las implementaciones, las operaciones de inserción no pueden producir errores.

Los doce métodos descritos anteriormente se resumen en la tabla siguiente:

<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="col" 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><scope="col" style="font-weight:normal; font-style:italic">Throws exception</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)< td><>#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></td td>#getLast() getLast()<><td>#peekLast() peekLast()</td></tr></tbody></table>

Esta interfaz extiende la Queue interfaz. Cuando se usa un deque como una cola, el comportamiento de FIFO (primero enFirst-Out). Los elementos se agregan al final del deque y se quitan del principio. Los métodos heredados de la Queue interfaz son exactamente equivalentes a los Deque métodos, como se indica en la tabla siguiente:

<table class="striped">caption Comparison of Queue and Deque methods</caption><thead><tr><th scope="col">< Method/th>Queuescope="col"< Equivalent > Method<>/thDeque</tr></thead><tbody><tr><th scope="row"><>/th#add(Object) add(e)<td/td><>#addLast(Object) addLast(e)</tr><><th scope="row"><>/th#offer(Object) offer(e)<><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/td>#pollFirst() pollFirst()<></tr tr><><th scope="row">#element() element()</th><td>#getFirst() getFirst()</td></tr tr><><th scope="row">#peek() peek()</th><td>#peekFirst() peekFirst()</td></tr></tbody></table>

Los deques también se pueden usar como pilas LIFO (Last-In-First-Out). Esta interfaz debe usarse en preferencia para la clase heredada Stack . Cuando se usa un deque como pila, los elementos se insertan y se extrae desde el principio del deque. Los métodos de pila son equivalentes a los Deque métodos, como se indica en la tabla siguiente:

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

Tenga en cuenta que el #peek peek método funciona igualmente bien cuando se usa un deque como una cola o una pila; en cualquier caso, los elementos se dibujan desde el principio del deque.

Esta interfaz proporciona dos métodos para quitar elementos interiores y #removeFirstOccurrence removeFirstOccurrence#removeLastOccurrence removeLastOccurrence.

A diferencia de la List interfaz , esta interfaz no proporciona compatibilidad con el acceso indexado a los elementos.

Aunque Deque las implementaciones no son estrictamente necesarias para prohibir la inserción de elementos NULL, se recomienda encarecidamente hacerlo. Se recomienda encarecidamente a los usuarios de cualquier Deque implementación que permita que los elementos NULL no aprovechen la capacidad de insertar valores NULL. Esto es así porque null se usa como un valor devuelto especial por varios métodos para indicar que el deque está vacío.

Deque Por lo general, las implementaciones no definen versiones basadas en elementos de los equals métodos y hashCode , sino que heredan las versiones basadas en identidad de la clase Object.

Agregado en la versión 1.6.

Java documentación para java.util.Deque.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Propiedades

Nombre Description
First

Recupera, pero no quita, el primer elemento de este deque.

Handle

Obtiene el valor JNI del objeto Android subyacente.

(Heredado de IJavaObject)
IsEmpty

Devuelve true si no Collection contiene ningún elemento.

(Heredado de ICollection)
JniIdentityHashCode

Devuelve el valor de java.lang.System.identityHashCode() para la instancia ajustada.

(Heredado de IJavaPeerable)
JniManagedPeerState

Estado del mismo nivel administrado.

(Heredado de IJavaPeerable)
JniObjectReferenceControlBlock

Colección lineal que admite la inserción y eliminación de elementos en ambos extremos.

(Heredado de IJavaPeerable)
JniPeerMembers

Compatibilidad con la invocación y el acceso de miembros.

(Heredado de IJavaPeerable)
Last

Recupera, pero no quita, el último elemento de este deque.

PeerReference

Devuelve un JniObjectReference de la instancia de objeto Java ajustada.

(Heredado de IJavaPeerable)

Métodos

Nombre Description
Add(Object)

Inserta el elemento especificado en la cola representada por este deque (es decir, en la cola de este deque) si es posible hacerlo inmediatamente sin infringir las restricciones de capacidad, devolviendo true al éxito y iniciando un IllegalStateException si no hay espacio disponible actualmente.

AddAll(ICollection)

Agrega todos los elementos de la colección especificada a esta colección (operación opcional).

(Heredado de ICollection)
AddFirst(Object)

Inserta el elemento especificado en la parte frontal de este deque si es posible hacerlo inmediatamente sin infringir las restricciones de capacidad, iniciando un IllegalStateException si no hay espacio disponible actualmente.

AddLast(Object)

Inserta el elemento especificado al final de este deque si es posible hacerlo inmediatamente sin infringir las restricciones de capacidad, iniciando un IllegalStateException si no hay espacio disponible actualmente.

Clear()

Quita todos los elementos de esta colección (operación opcional).

(Heredado de ICollection)
Contains(Object)

Devuelve true si este deque contiene el elemento especificado.

ContainsAll(ICollection)

Devuelve true si esta colección contiene todos los elementos de la colección especificada.

(Heredado de ICollection)
DescendingIterator()

Devuelve un iterador sobre los elementos de este deque en orden secuencial inverso.

Disposed()

Se llama cuando se ha eliminado la instancia.

(Heredado de IJavaPeerable)
DisposeUnlessReferenced()

Si no hay referencias pendientes a esta instancia, llama a Dispose(); de lo contrario, no hace nada.

(Heredado de IJavaPeerable)
Element()

Recupera, pero no quita, el encabezado de la cola representada por este deque (es decir, el primer elemento de este deque).

Equals(Object)

Compara el objeto especificado con esta colección para obtener igualdad.

(Heredado de ICollection)
Finalized()

Se llama cuando se ha finalizado la instancia.

(Heredado de IJavaPeerable)
ForEach(IConsumer)

Realiza la acción dada para cada elemento de Iterable hasta que se hayan procesado todos los elementos o la acción produce una excepción.

(Heredado de IIterable)
GetFirst()

Obtiene el primer elemento de esta colección.

(Heredado de ISequencedCollection)
GetHashCode()

Devuelve el valor de código hash de esta colección.

(Heredado de ICollection)
GetLast()

Obtiene el último elemento de esta colección.

(Heredado de ISequencedCollection)
Iterator()

Devuelve un iterador sobre los elementos de este deque en la secuencia adecuada.

Offer(Object)

Inserta el elemento especificado en la cola representada por este deque (es decir, en la cola de este deque) si es posible hacerlo inmediatamente sin infringir las restricciones de capacidad, volviendo true al éxito y false si no hay espacio disponible actualmente.

OfferFirst(Object)

Inserta el elemento especificado en la parte frontal de este deque, a menos que infrinja las restricciones de capacidad.

OfferLast(Object)

Inserta el elemento especificado al final de este deque, a menos que infrinja las restricciones de capacidad.

Peek()

Recupera, pero no quita, el encabezado de la cola representada por este deque (es decir, el primer elemento de este deque) o devuelve null si este deque está vacío.

PeekFirst()

Recupera, pero no quita, el primer elemento de este deque o devuelve null si este deque está vacío.

PeekLast()

Recupera, pero no quita, el último elemento de este deque o devuelve null si este deque está vacío.

Poll()

Recupera y quita el encabezado de la cola representada por este deque (es decir, el primer elemento de este deque) o devuelve null si este deque está vacío.

PollFirst()

Recupera y quita el primer elemento de este deque o devuelve null si este deque está vacío.

PollLast()

Recupera y quita el último elemento de este deque o devuelve null si este deque está vacío.

Pop()

Extrae un elemento de la pila representada por este deque.

Push(Object)

Inserta un elemento en la pila representada por este deque (es decir, en la cabeza de este deque) si es posible hacerlo inmediatamente sin infringir las restricciones de capacidad, iniciando un IllegalStateException si no hay espacio disponible actualmente.

Remove()

Recupera y quita el encabezado de la cola representada por este deque (es decir, el primer elemento de este deque).

Remove(Object)

Quita la primera aparición del elemento especificado de este deque.

RemoveAll(ICollection)

Quita todos los elementos de esta colección que también están incluidos en la colección especificada (operación opcional).

(Heredado de ICollection)
RemoveFirst()

Recupera y quita el primer elemento de este deque.

RemoveFirstOccurrence(Object)

Quita la primera aparición del elemento especificado de este deque.

RemoveIf(IPredicate)

Quita todos los elementos de esta colección que satisfacen el predicado especificado (operación opcional).

(Heredado de ICollection)
RemoveLast()

Recupera y quita el último elemento de este deque.

RemoveLastOccurrence(Object)

Quita la última aparición del elemento especificado de este deque.

RetainAll(ICollection)

Conserva solo los elementos de esta colección que se encuentran en la colección especificada (operación opcional).

(Heredado de ICollection)
Reversed()

Devuelve una vista ordenada inverso de esta colección.

(Heredado de ISequencedCollection)
SetJniIdentityHashCode(Int32)

Establezca el valor devuelto por JniIdentityHashCode.

(Heredado de IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Colección lineal que admite la inserción y eliminación de elementos en ambos extremos.

(Heredado de IJavaPeerable)
SetPeerReference(JniObjectReference)

Establezca el valor devuelto por PeerReference.

(Heredado de IJavaPeerable)
Size()

Devuelve el número de elementos de este deque.

Spliterator()

Crea un Spliterator elemento sobre los elementos descritos por este Iterable.

(Heredado de IIterable)
ToArray()

Devuelve una matriz que contiene todos los elementos de esta colección.

(Heredado de ICollection)
ToArray(IIntFunction)

Devuelve una matriz que contiene todos los elementos de esta colección, utilizando la función proporcionada generator para asignar la matriz devuelta.

(Heredado de ICollection)
ToArray(Object[])

Devuelve una matriz que contiene todos los elementos de esta colección; el tipo en tiempo de ejecución de la matriz devuelta es el de la matriz especificada.

(Heredado de ICollection)
UnregisterFromRuntime()

Anule el registro de esta instancia para que el entorno de ejecución no lo devuelva de invocaciones futuras Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Heredado de IJavaPeerable)

Implementaciones de interfaz explícitas

Nombre Description
IIterable.Spliterator()

Crea un elemento Spliterator sobre los elementos de esta colección.

(Heredado de ICollection)
ISequencedCollection.Reversed()

Por agregar

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Colección lineal que admite la inserción y eliminación de elementos en ambos extremos.

ToEnumerable(IIterable)

Devuelve un IEnumerable objeto que recorre en iteración una Java IIterable, lo que permite foreach usar y LINQ con tipos de colección Java. Cada elemento se serializa desde su instancia de Java al tipo administrado correspondiente.

ToEnumerable<T>(IIterable)

Devuelve un IEnumerable<T> objeto que recorre en iteración un Java IIterable, serializar cada elemento en T. Esto permite foreach usar y LINQ con Java tipos de colección.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a