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 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.
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 |
| JniIdentityHashCode |
Restituisce il valore di |
| 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 |
| 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 |
| AddLast(Object) |
Inserisce l'elemento specificato alla fine di questa deque se è possibile farlo immediatamente senza violare le restrizioni di capacità, generando un'eccezione |
| 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 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 |
| 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 |
| 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 |
| 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 |
| 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 l'intestazione 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 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 |
| 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 |
| 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 |
| Size() |
Restituisce il numero di elementi in questa deque. |
| Spliterator() |
Crea un |
| 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 |
| 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 |
| ISequencedCollection.Reversed() |
Da aggiungere |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| 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 |