IDeque Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 |
JniIdentityHashCode |
Restituisce il valore di per |
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 |
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 |
AddLast(Object) |
Inserisce l'elemento specificato alla fine di questa deque se è possibile farlo immediatamente senza violare restrizioni di capacità, generando un |
Clear() |
Rimuove tutti gli elementi da questa raccolta (operazione facoltativa). (Ereditato da ICollection) |
Contains(Object) |
Restituisce |
ContainsAll(ICollection) |
Restituisce |
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 |
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 |
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 |
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 |
PeekFirst() |
Recupera, ma non rimuove, il primo elemento di questa deque o restituisce |
PeekLast() |
Recupera, ma non rimuove, l'ultimo elemento di questa deque o restituisce |
Poll() |
Recupera e rimuove la testa della coda rappresentata da questa deque (in altre parole, il primo elemento di questa deque) o restituisce |
PollFirst() |
Recupera e rimuove il primo elemento di questa deque oppure restituisce |
PollLast() |
Recupera e rimuove l'ultimo elemento di questa deque oppure restituisce |
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 |
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 |
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 |
Size() |
Restituisce il numero di elementi in questa deque. |
Spliterator() |
Crea un |
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 |
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 |
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à. |