Linguaggio

IDeque Interfaccia

Definizione

Raccolta lineare che supporta l'inserimento e la rimozione di 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, 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
Derivato
Attributi
Implementazioni

Commenti

Raccolta lineare che supporta l'inserimento e la rimozione di 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 di capacità e quelli senza limiti di dimensione fissa.

Questa interfaccia definisce i metodi per accedere agli elementi a entrambe le estremità della deque. Vengono forniti metodi 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 (o null, false a seconda dell'operazione). Quest'ultima forma dell'operazione di inserimento è progettata specificamente per l'uso con implementazioni con restrizioni Deque di capacità. Nella maggior parte delle implementazioni, le operazioni di inserimento non possono avere esito negativo.

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

<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:>< normale; 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><>#offerFirst(Object) offerFirst(e)<><>#addLast(Object) addLast(e)</td><td>#offerLast(Object) offerLast(e)</td></tr tr><><th scope="row">Remove</th><td/td>#removeFirst() removeFirst()<>< td>#pollFirst() pollFirst()</td><td>#removeLast() removeLast()</td td/td><>#pollLast() pollLast()</td></tr tr><><th scope="row">Examine</th><td>#getFirst() getFirst()</td><>#peekFirst() peekFirst()< td td/td td><>#getLast() getLast()</td><td>#peekLast() peekLast()</td></tr></tbody></table>

Questa interfaccia estende l'interfaccia Queue . Quando una deque viene usata come coda, 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">caption Comparison of Queue and Deque methods</caption><thead><tr><th scope="col" Method>/th th<>scope="col"Queue<> Equivalent < Method>/thDeque</tr></thead><tbody><tr><th scope="row"><>/th#add(Object) add(e)<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/td>#removeFirst() removeFirst()<></tr tr><><th scope="row">#poll() poll()</th><td/td>#pollFirst() pollFirst()<></tr tr><><th scope="row">#element() element()</th><td>#getFirst() getFirst()<></tr tr><><th scope="row">#peek() peek()</th><td>#peekFirst() peekFirst()</td></tr></tbody></table>

Deques può essere usato 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 inseriti e rimossi dall'inizio della deque. I metodi stack sono equivalenti ai Deque metodi indicati nella tabella seguente:

<table class="striped">caption Comparison of Stack and Deque methods</caption><thead><tr><th scope="col" Stack Method>/th th<>scope="col"<> Equivalent < Method>/thDeque</tr></thead><tbody><tr><th scope="row"><>/th#push(Object) push(e)<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>

Si noti che il #peek peek metodo funziona altrettanto bene quando una deque viene usata 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 interni e #removeFirstOccurrence removeFirstOccurrence#removeLastOccurrence removeLastOccurrence.

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

Anche se Deque le implementazioni non sono strettamente necessarie per impedire l'inserimento di elementi Null, è consigliabile farlo. Gli utenti di qualsiasi Deque implementazione che consentono elementi Null sono fortemente invitati a non sfruttare la possibilità di inserire valori Null. Ciò è dovuto al fatto che null viene usato come valore restituito speciale da vari metodi per indicare che la deque è vuota.

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

Aggiunta nella versione 1.6.

per java.util.Deque.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Proprietà

Nome Descrizione
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 true se l'oggetto Collection non contiene elementi.

(Ereditato da ICollection)
JniIdentityHashCode

Restituisce il valore di java.lang.System.identityHashCode() per l'istanza di cui è stato eseguito il wrapping.

(Ereditato da IJavaPeerable)
JniManagedPeerState

Stato del peer gestito.

(Ereditato da IJavaPeerable)
JniObjectReferenceControlBlock

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

(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 JniObjectReference oggetto dell'istanza dell'oggetto di cui è stato eseguito il wrapping Java.

(Ereditato da IJavaPeerable)

Metodi

Nome Descrizione
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 le restrizioni di capacità, restituendo true in caso di esito positivo e generando un'eccezione IllegalStateException se non è attualmente disponibile spazio.

AddAll(ICollection)

Aggiunge tutti gli elementi della 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 le restrizioni di capacità, generando un'eccezione IllegalStateException se non è attualmente disponibile spazio.

AddLast(Object)

Inserisce l'elemento specificato alla fine di questa deque se è possibile farlo immediatamente senza violare le restrizioni di capacità, generando un'eccezione IllegalStateException se non è disponibile 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 l'insieme contiene tutti gli elementi dell'insieme specificato.

(Ereditato da ICollection)
DescendingIterator()

Restituisce un iteratore sugli elementi in questa 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 esegue alcuna operazione.

(Ereditato da IJavaPeerable)
Element()

Recupera, ma non rimuove, l'intestazione 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 verificare l'uguaglianza.

(Ereditato da ICollection)
Finalized()

Chiamato quando l'istanza è stata finalizzata.

(Ereditato da IJavaPeerable)
ForEach(IConsumer)

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

(Ereditato da IIterable)
GetFirst()

Ottiene il primo elemento di questa raccolta.

(Ereditato da ISequencedCollection)
GetHashCode()

Restituisce il valore del codice hash per questa raccolta.

(Ereditato da ICollection)
GetLast()

Ottiene l'ultimo elemento di questa raccolta.

(Ereditato da ISequencedCollection)
Iterator()

Restituisce un iteratore sugli elementi in questa deque in 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 le restrizioni di capacità, restituendo true in caso di esito positivo 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 violi le restrizioni di capacità.

Peek()

Recupera, ma non rimuove, l'intestazione 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 l'intestazione 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 dallo stack rappresentato da questa deque.

Push(Object)

Inserisce un elemento nello stack rappresentato da questa deque (in altre parole, all'inizio di questa deque) se è possibile farlo immediatamente senza violare le restrizioni di capacità, generando un'eccezione IllegalStateException se non è attualmente disponibile spazio.

Remove()

Recupera e rimuove l'intestazione 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)
Reversed()

Restituisce una visualizzazione in ordine inverso di questa raccolta.

(Ereditato da ISequencedCollection)
SetJniIdentityHashCode(Int32)

Impostare il valore restituito da JniIdentityHashCode.

(Ereditato da IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Raccolta lineare che supporta l'inserimento e la rimozione di 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 dell'insieme.

(Ereditato da ICollection)
ToArray(IIntFunction)

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

(Ereditato da ICollection)
ToArray(Object[])

Restituisce una matrice contenente tutti gli elementi dell'insieme; 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 restituisca dalle chiamate future Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Ereditato da IJavaPeerable)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IIterable.Spliterator()

Crea un Spliterator oggetto sugli elementi di questa raccolta.

(Ereditato da ICollection)
ISequencedCollection.Reversed()

Da aggiungere

Metodi di estensione

Nome Descrizione
GetJniTypeName(IJavaPeerable)

Ottiene il nome JNI del tipo dell'istanza selfdi .

JavaAs<TResult>(IJavaPeerable)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

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

ToEnumerable(IIterable)

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

ToEnumerable<T>(IIterable)

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

TryJavaCast<TResult>(IJavaPeerable, TResult)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

Si applica a