Condividi tramite


IDeque Interfaccia

Definizione

Raccolta lineare che supporta l'inserimento e la rimozione degli elementi a entrambe le estremità.

[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
[<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
Derivato
Attributi
Implementazioni

Commenti

Raccolta lineare che supporta l'inserimento e la rimozione degli elementi a entrambe le estremità. Il nome deque è breve per "doppia coda terminata" ed è in genere pronunciato "deck". La maggior parte Deque delle implementazioni non pone limiti fissi al numero di elementi che possono contenere, ma questa interfaccia supporta i deques con restrizioni della capacità, nonché quelli senza limite di dimensioni fisse.

Questa interfaccia definisce i metodi per accedere agli elementi a entrambe le estremità della deque. I metodi vengono forniti per inserire, rimuovere ed esaminare l'elemento. Ognuno di questi metodi esiste in due forme: uno genera un'eccezione se l'operazione ha esito negativo, l'altra restituisce un valore speciale ( null o false, a seconda dell'operazione). La seconda forma dell'operazione di inserimento è progettata in modo specifico per l'uso con implementazioni con restrizioni Deque di capacità. Nella maggior parte delle implementazioni, le operazioni di inserimento non possono riuscire.

I dodici metodi descritti in precedenza sono riepilogati nella tabella seguente:

<table class="striped">didascalia Summary of Deque methods</didascalia><> thead><tr<>td rowspan="2"></td<>th scope="colspan="2>" First Element (Head)/th<>scope="colspan="2"> Last Element (Tail)<<<>></th tr<>th scope="col" style="font-weight:normal; font-style:italic"<>Genera un'eccezione</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 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>#offerFirst(Object) offerFirst(e)</<>>><><<#offerLast(Object) offerLast(e)><<>#addLast(Object) addLast(e)><td/tr tr th scope="row"<<>#removeLast() removeLast()<<><<>#pollFirst() pollFirst()<<#removeFirst() removeFirst()>>><><>>><<>#pollLast() pollLast()>Remove/th td/td/tr tr th scope="row>"Examine</th<><>#getFirst() getFirst() td/td/td><<>#peekFirst() peekFirst()td/td><td/td td><#getLast() getLast()/><td><<>#peekLast() peekLast()/tr></tbody></table>

Questa interfaccia estende l'interfaccia Queue . Quando una deque viene usata come coda, i risultati del comportamento FIFO (First-In-First-Out). Gli elementi vengono aggiunti alla fine della deque e rimossi dall'inizio. I metodi ereditati dall'interfaccia Queue sono esattamente equivalenti ai Deque metodi indicati nella tabella seguente:

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

I deques possono essere usati anche come stack LIFO (Last-In-First-Out). Questa interfaccia deve essere usata in preferenza per la classe legacy Stack . Quando una deque viene usata come stack, gli elementi vengono spostati e rimossi dall'inizio della deque. I metodi stack sono equivalenti ai Deque metodi indicati nella tabella seguente:

<table class="striped"><didascalia Comparison of Stack and Deque methods</didascalia<>> 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/td>#addFirst(Object) addFirst(e)<></tr><tr><th scope="row"#pop() pop()<>/th><td/td<><>/tr><tr th scope="row"><#peek() peek()/th><td><#getFirst() getFirst()/td#removeFirst() removeFirst()><<>/tr<>/tbody></table>

Si noti che il #peek peek metodo funziona altrettanto bene quando viene usata una deque come coda o uno stack. In entrambi i casi, gli elementi vengono disegnati dall'inizio della deque.

Questa interfaccia fornisce due metodi per rimuovere gli elementi #removeFirstOccurrence removeFirstOccurrence interni e #removeLastOccurrence removeLastOccurrence.

A differenza dell'interfaccia, questa interfaccia non fornisce supporto per l'accesso List indicizzato agli elementi.

Anche se Deque le implementazioni non sono strettamente necessarie per impedire l'inserimento di elementi Null, sono fortemente incoraggiate a farlo. Gli utenti di qualsiasi Deque implementazione che consentono elementi Null sono fortemente incoraggiati a non sfruttare la possibilità di inserire null. Questo perché null viene usato come valore restituito speciale da vari metodi per indicare che la deque è vuota.

Deque le implementazioni in genere non definiscono le versioni basate sugli elementi dei equals metodi e hashCode , invece, ereditano le versioni basate su identità dalla classe Object.

Aggiunta nella versione 1.6.

Documentazione Java per java.util.Deque.

Le parti di questa pagina sono modifiche in base al lavoro creato e condiviso dal Android Open Source e usato in base ai termini descritti nella .

Proprietà

First

Recupera, ma non rimuove, il primo elemento di questa deque.

Handle

Ottiene il valore JNI dell'oggetto Android sottostante.

(Ereditato da IJavaObject)
IsEmpty

Restituisce se non Collection contiene elementi.

(Ereditato da ICollection)
JniIdentityHashCode

Restituisce il valore di per java.lang.System.identityHashCode() l'istanza di wrapped.

(Ereditato da IJavaPeerable)
JniManagedPeerState

Stato del peer gestito.

(Ereditato da IJavaPeerable)
JniPeerMembers

Supporto per l'accesso ai membri e la chiamata.

(Ereditato da IJavaPeerable)
Last

Recupera, ma non rimuove, l'ultimo elemento di questa deque.

PeerReference

Restituisce un'istanza JniObjectReference dell'oggetto Java con wrapping.

(Ereditato da IJavaPeerable)

Metodi

Add(Object)

Inserisce l'elemento specificato nella coda rappresentata da questa deque (in altre parole, alla fine di questa deque) se è possibile farlo immediatamente senza violare restrizioni di capacità, restituendo true al successo e generando un IllegalStateException se non è attualmente disponibile spazio.

AddAll(ICollection)

Aggiunge tutti gli elementi nella raccolta specificata a questa raccolta (operazione facoltativa).

(Ereditato da ICollection)
AddFirst(Object)

Inserisce l'elemento specificato nella parte anteriore di questa deque se è possibile farlo immediatamente senza violare restrizioni di capacità, generando un IllegalStateException se non è attualmente disponibile alcun spazio.

AddLast(Object)

Inserisce l'elemento specificato alla fine di questa deque se è possibile farlo immediatamente senza violare restrizioni di capacità, generando un IllegalStateException se non è attualmente disponibile alcun spazio.

Clear()

Rimuove tutti gli elementi da questa raccolta (operazione facoltativa).

(Ereditato da ICollection)
Contains(Object)

Restituisce true se questa deque contiene l'elemento specificato.

ContainsAll(ICollection)

Restituisce true se questa raccolta contiene tutti gli elementi della raccolta specificata.

(Ereditato da ICollection)
DescendingIterator()

Restituisce un iteratore sugli elementi in questo deque in ordine sequenziale inverso.

Disposed()

Chiamato quando l'istanza è stata eliminata.

(Ereditato da IJavaPeerable)
DisposeUnlessReferenced()

Se non sono presenti riferimenti in sospeso a questa istanza, chiama Dispose(); in caso contrario, non fa nulla.

(Ereditato da IJavaPeerable)
Element()

Recupera, ma non rimuove, la testa della coda rappresentata da questa deque (in altre parole, il primo elemento di questa deque).

Equals(Object)

Confronta l'oggetto specificato con questa raccolta per l'uguaglianza.

(Ereditato da ICollection)
Finalized()

Chiamato quando l'istanza è stata finalizzata.

(Ereditato da IJavaPeerable)
ForEach(IConsumer)

Esegue l'azione specificata per ogni elemento dell'oggetto Iterable finché tutti gli elementi non sono stati elaborati o l'azione genera un'eccezione.

(Ereditato da IIterable)
GetHashCode()

Restituisce il valore del codice hash per questa raccolta.

(Ereditato da ICollection)
Iterator()

Restituisce un iteratore sugli elementi di questa deque nella sequenza corretta.

Offer(Object)

Inserisce l'elemento specificato nella coda rappresentata da questa deque (in altre parole, alla fine di questa deque) se è possibile farlo immediatamente senza violare restrizioni di capacità, restituendo true al successo e false se non è attualmente disponibile spazio.

OfferFirst(Object)

Inserisce l'elemento specificato nella parte anteriore di questa deque, a meno che non viola le restrizioni di capacità.

OfferLast(Object)

Inserisce l'elemento specificato alla fine di questa deque, a meno che non viola le restrizioni di capacità.

Peek()

Recupera, ma non rimuove, la testa della coda rappresentata da questa deque (in altre parole, il primo elemento di questa deque) o restituisce null se questa deque è vuota.

PeekFirst()

Recupera, ma non rimuove, il primo elemento di questa deque o restituisce null se questa deque è vuota.

PeekLast()

Recupera, ma non rimuove, l'ultimo elemento di questa deque o restituisce null se questa deque è vuota.

Poll()

Recupera e rimuove la testa della coda rappresentata da questa deque (in altre parole, il primo elemento di questa deque) o restituisce null se questa deque è vuota.

PollFirst()

Recupera e rimuove il primo elemento di questa deque oppure restituisce null se questa deque è vuota.

PollLast()

Recupera e rimuove l'ultimo elemento di questa deque oppure restituisce null se questa deque è vuota.

Pop()

Popa un elemento dello stack rappresentato da questa deque.

Push(Object)

Esegue il push di un elemento nello stack rappresentato da questa deque (in altre parole, alla testa di questa deque) se è possibile farlo immediatamente senza violare restrizioni di capacità, generare un IllegalStateException se non è attualmente disponibile spazio.

Remove()

Recupera e rimuove la testa della coda rappresentata da questa deque (in altre parole, il primo elemento di questa deque).

Remove(Object)

Rimuove la prima occorrenza dell'elemento specificato da questa deque.

RemoveAll(ICollection)

Rimuove tutti gli elementi di questa raccolta contenuti anche nella raccolta specificata (operazione facoltativa).

(Ereditato da ICollection)
RemoveFirst()

Recupera e rimuove il primo elemento di questa deque.

RemoveFirstOccurrence(Object)

Rimuove la prima occorrenza dell'elemento specificato da questa deque.

RemoveIf(IPredicate)

Rimuove tutti gli elementi di questa raccolta che soddisfano il predicato specificato.

(Ereditato da ICollection)
RemoveLast()

Recupera e rimuove l'ultimo elemento di questa deque.

RemoveLastOccurrence(Object)

Rimuove l'ultima occorrenza dell'elemento specificato da questa deque.

RetainAll(ICollection)

Mantiene solo gli elementi di questa raccolta contenuti nella raccolta specificata (operazione facoltativa).

(Ereditato da ICollection)
SetJniIdentityHashCode(Int32)

Impostare il valore restituito da JniIdentityHashCode.

(Ereditato da IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Raccolta lineare che supporta l'inserimento e la rimozione degli elementi a entrambe le estremità.

(Ereditato da IJavaPeerable)
SetPeerReference(JniObjectReference)

Impostare il valore restituito da PeerReference.

(Ereditato da IJavaPeerable)
Size()

Restituisce il numero di elementi in questa deque.

Spliterator()

Crea un Spliterator oggetto sugli elementi descritti da questo Iterableoggetto .

(Ereditato da IIterable)
ToArray()

Restituisce una matrice contenente tutti gli elementi di questa raccolta.

(Ereditato da ICollection)
ToArray(IIntFunction)

Restituisce una matrice contenente tutti gli elementi di questa raccolta, usando la funzione fornita generator per allocare la matrice restituita.

(Ereditato da ICollection)
ToArray(Object[])

Restituisce una matrice contenente tutti gli elementi di questa raccolta; il tipo di runtime della matrice restituita è quello della matrice specificata.

(Ereditato da ICollection)
UnregisterFromRuntime()

Annullare la registrazione di questa istanza in modo che il runtime non lo restituirà dalle chiamate future Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Ereditato da IJavaPeerable)

Implementazioni dell'interfaccia esplicita

IIterable.Spliterator()

Crea un Spliterator oggetto sugli elementi di questa raccolta.

(Ereditato da ICollection)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione dei tipi controllati dal runtime Android.

JavaCast<TResult>(IJavaObject)

Raccolta lineare che supporta l'inserimento e la rimozione degli elementi a entrambe le estremità.

GetJniTypeName(IJavaPeerable)

Raccolta lineare che supporta l'inserimento e la rimozione degli elementi a entrambe le estremità.

ToEnumerable(IIterable)

Raccolta lineare che supporta l'inserimento e la rimozione degli elementi a entrambe le estremità.

ToEnumerable<T>(IIterable)

Raccolta lineare che supporta l'inserimento e la rimozione degli elementi a entrambe le estremità.

Si applica a