IDeque Interface

Definição

Uma coleção linear que dá suporte à inserção e remoção de elementos em ambas as extremidades.

[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
Implementações

Comentários

Uma coleção linear que dá suporte à inserção e remoção de elementos em ambas as extremidades. O nome deque é abreviação de "fila de término duplo" e geralmente é pronunciado "deck". A maioria das Deque implementações não coloca limites fixos no número de elementos que podem conter, mas essa interface dá suporte a deques restritos à capacidade, bem como aqueles sem limite de tamanho fixo.

Essa interface define métodos para acessar os elementos nas duas extremidades do deque. Métodos são fornecidos para inserir, remover e examinar o elemento. Cada um desses métodos existe em duas formas: um gera uma exceção se a operação falhar, o outro retorna um valor especial ( null ou false, dependendo da operação). A última forma da operação de inserção foi projetada especificamente para uso com implementações restritas Deque à capacidade; na maioria das implementações, as operações de inserção não podem falhar.

Os doze métodos descritos acima são resumidos na tabela a seguir:

<table class="striped">caption Summary of Deque methods</caption><thead><tr><td rowspan="2">/td<><th scope="col" 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">Gera exceção</th th><scope="col" style="font-weight:>< normal; font-style:italic">Valor especial</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)</td 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><>#removeLast() removeLast()</td td><>#pollLast() pollLast()</td/td></tr><tr><th scope="row">Examine</th><td>#getFirst() getFirst()</td td><>#peekFirst() peekFirst()</td td><>#getLast() getLast()</td><td>#peekLast() peekLast()</td></tr></tbody></table>

Essa interface estende a Queue interface. Quando um deque é usado como uma fila, o comportamento de FIFO (First-In-First-Out) resulta. Os elementos são adicionados no final do deque e removidos do início. Os métodos herdados da Queue interface são exatamente equivalentes aos Deque métodos, conforme indicado na tabela a seguir:

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

Os deques também podem ser usados como pilhas LIFO (Last-In-First-Out). Essa interface deve ser usada em preferência para a classe herdada Stack . Quando um deque é usado como uma pilha, os elementos são enviados por push e estourados desde o início do deque. Os métodos de pilha são equivalentes aos Deque métodos, conforme indicado na tabela abaixo:

<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><>/td#addFirst(Object) addFirst(e)</tr><tr><th scope="row"><>/th#pop() pop()<><td>#removeFirst() removeFirst()</td></tr><tr><th scope="row">#peek() peek()</th><td>#getFirst() getFirst()</td></tr></tbody></table>

Observe que o #peek peek método funciona igualmente bem quando um deque é usado como uma fila ou uma pilha; em ambos os casos, os elementos são extraídos do início do deque.

Essa interface fornece dois métodos para remover elementos #removeFirstOccurrence removeFirstOccurrence interiores e #removeLastOccurrence removeLastOccurrence.

Ao contrário da List interface, essa interface não fornece suporte para acesso indexado aos elementos.

Embora Deque as implementações não sejam estritamente necessárias para proibir a inserção de elementos nulos, elas são fortemente incentivadas a fazê-lo. Os usuários de todas as Deque implementações que permitem elementos nulos são altamente incentivados a não aproveitar a capacidade de inserir nulos. Isso ocorre porque null é usado como um valor de retorno especial por vários métodos para indicar que o deque está vazio.

Dequeas implementações geralmente não definem versões baseadas em elementos dos métodos eequals, hashCode em vez disso, herdam as versões baseadas em identidade da classeObject.

Adicionado em 1.6.

Java documentação para java.util.Deque.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Propriedades

Nome Description
First

Recupera, mas não remove, o primeiro elemento desse deque.

Handle

Obtém o valor JNI do objeto Android subjacente.

(Herdado de IJavaObject)
IsEmpty

Retorna true se isso Collection não contiver elementos.

(Herdado de ICollection)
JniIdentityHashCode

Retorna o valor da java.lang.System.identityHashCode() instância encapsulada.

(Herdado de IJavaPeerable)
JniManagedPeerState

Estado do par gerenciado.

(Herdado de IJavaPeerable)
JniObjectReferenceControlBlock

Uma coleção linear que dá suporte à inserção e remoção de elementos em ambas as extremidades.

(Herdado de IJavaPeerable)
JniPeerMembers

Acesso ao membro e suporte à invocação.

(Herdado de IJavaPeerable)
Last

Recupera, mas não remove, o último elemento desse deque.

PeerReference

Retorna uma JniObjectReference das instâncias de objeto Java encapsuladas.

(Herdado de IJavaPeerable)

Métodos

Nome Description
Add(Object)

Insere o elemento especificado na fila representada por esse deque (em outras palavras, na parte final deste deque) se for possível fazê-lo imediatamente sem violar restrições de capacidade, retornando true após o sucesso e lançando um IllegalStateException se nenhum espaço estiver disponível no momento.

AddAll(ICollection)

Adiciona todos os elementos na coleção especificada a esta coleção (operação opcional).

(Herdado de ICollection)
AddFirst(Object)

Insere o elemento especificado na frente desse deque se for possível fazê-lo imediatamente sem violar restrições de capacidade, lançando um IllegalStateException se nenhum espaço estiver disponível no momento.

AddLast(Object)

Insere o elemento especificado no final deste deque se for possível fazê-lo imediatamente sem violar restrições de capacidade, lançando um IllegalStateException se nenhum espaço estiver disponível no momento.

Clear()

Remove todos os elementos dessa coleção (operação opcional).

(Herdado de ICollection)
Contains(Object)

Retornará true se esse deque contiver o elemento especificado.

ContainsAll(ICollection)

Retorna true se essa coleção contiver todos os elementos na coleção especificada.

(Herdado de ICollection)
DescendingIterator()

Retorna um iterador sobre os elementos neste deque em ordem sequencial inversa.

Disposed()

Chamado quando a instância foi descartada.

(Herdado de IJavaPeerable)
DisposeUnlessReferenced()

Se não houver referências pendentes a essa instância, então chamará Dispose(); caso contrário, não fará nada.

(Herdado de IJavaPeerable)
Element()

Recupera, mas não remove, a cabeça da fila representada por esse deque (em outras palavras, o primeiro elemento deste deque).

Equals(Object)

Compara o objeto especificado com essa coleção quanto à igualdade.

(Herdado de ICollection)
Finalized()

Chamado quando a instância foi finalizada.

(Herdado de IJavaPeerable)
ForEach(IConsumer)

Executa a ação fornecida para cada elemento do Iterable até que todos os elementos tenham sido processados ou a ação lance uma exceção.

(Herdado de IIterable)
GetFirst()

Obtém o primeiro elemento desta coleção.

(Herdado de ISequencedCollection)
GetHashCode()

Retorna o valor do código hash para esta coleção.

(Herdado de ICollection)
GetLast()

Obtém o último elemento desta coleção.

(Herdado de ISequencedCollection)
Iterator()

Retorna um iterador sobre os elementos neste deque na sequência apropriada.

Offer(Object)

Insere o elemento especificado na fila representada por esse deque (em outras palavras, na parte final deste deque) se for possível fazê-lo imediatamente sem violar restrições de capacidade, retornando true após o sucesso e false se nenhum espaço estiver disponível no momento.

OfferFirst(Object)

Insere o elemento especificado na frente desse deque, a menos que ele viole as restrições de capacidade.

OfferLast(Object)

Insere o elemento especificado no final deste deque, a menos que ele viole as restrições de capacidade.

Peek()

Recupera, mas não remove, a cabeça da fila representada por esse deque (em outras palavras, o primeiro elemento deste deque) ou retorna null se esse deque está vazio.

PeekFirst()

Recupera, mas não remove, o primeiro elemento desse deque ou retorna null se esse deque está vazio.

PeekLast()

Recupera, mas não remove, o último elemento deste deque ou retorna null se esse deque está vazio.

Poll()

Recupera e remove a cabeça da fila representada por esse deque (em outras palavras, o primeiro elemento deste deque) ou retorna null se esse deque está vazio.

PollFirst()

Recupera e remove o primeiro elemento desse deque ou retorna null se esse deque estiver vazio.

PollLast()

Recupera e remove o último elemento desse deque ou retorna null se esse deque estiver vazio.

Pop()

Exibe um elemento da pilha representada por este deque.

Push(Object)

Envia um elemento para a pilha representada por esse deque (em outras palavras, à frente deste deque) se for possível fazê-lo imediatamente sem violar restrições de capacidade, lançando um IllegalStateException se nenhum espaço estiver disponível no momento.

Remove()

Recupera e remove a cabeça da fila representada por esse deque (em outras palavras, o primeiro elemento deste deque).

Remove(Object)

Remove a primeira ocorrência do elemento especificado deste deque.

RemoveAll(ICollection)

Remove todos os elementos dessa coleção que também estão contidos na coleção especificada (operação opcional).

(Herdado de ICollection)
RemoveFirst()

Recupera e remove o primeiro elemento desse deque.

RemoveFirstOccurrence(Object)

Remove a primeira ocorrência do elemento especificado deste deque.

RemoveIf(IPredicate)

Remove todos os elementos dessa coleção que atendem ao predicado fornecido.

(Herdado de ICollection)
RemoveLast()

Recupera e remove o último elemento deste deque.

RemoveLastOccurrence(Object)

Remove a última ocorrência do elemento especificado deste deque.

RetainAll(ICollection)

Retém apenas os elementos nesta coleção contidos na coleção especificada (operação opcional).

(Herdado de ICollection)
Reversed()

Retorna uma exibição ordenada inversa dessa coleção.

(Herdado de ISequencedCollection)
SetJniIdentityHashCode(Int32)

Defina o valor retornado por JniIdentityHashCode.

(Herdado de IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Uma coleção linear que dá suporte à inserção e remoção de elementos em ambas as extremidades.

(Herdado de IJavaPeerable)
SetPeerReference(JniObjectReference)

Defina o valor retornado por PeerReference.

(Herdado de IJavaPeerable)
Size()

Retorna o número de elementos neste deque.

Spliterator()

Cria um Spliterator sobre os elementos descritos por este Iterable.

(Herdado de IIterable)
ToArray()

Retorna uma matriz que contém todos os elementos nesta coleção.

(Herdado de ICollection)
ToArray(IIntFunction)

Retorna uma matriz que contém todos os elementos nesta coleção, usando a função fornecida generator para alocar a matriz retornada.

(Herdado de ICollection)
ToArray(Object[])

Retorna uma matriz que contém todos os elementos nesta coleção; o tipo de runtime da matriz retornada é o da matriz especificada.

(Herdado de ICollection)
UnregisterFromRuntime()

Cancele o registro dessa instância para que o runtime não a retorne de invocações futuras Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Herdado de IJavaPeerable)

Implantações explícitas de interface

Nome Description
IIterable.Spliterator()

Cria um Spliterator sobre os elementos nesta coleção.

(Herdado de ICollection)
ISequencedCollection.Reversed()

A ser adicionado

Métodos de Extensão

Nome Description
GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo marcada por runtime do Android.

JavaCast<TResult>(IJavaObject)

Uma coleção linear que dá suporte à inserção e remoção de elementos em ambas as extremidades.

ToEnumerable(IIterable)

Uma coleção linear que dá suporte à inserção e remoção de elementos em ambas as extremidades.

ToEnumerable<T>(IIterable)

Uma coleção linear que dá suporte à inserção e remoção de elementos em ambas as extremidades.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a