IDeque Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 |
| JniIdentityHashCode |
Retorna o valor da |
| 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 |
| 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 |
| 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 |
| Clear() |
Remove todos os elementos dessa coleção (operação opcional). (Herdado de ICollection) |
| Contains(Object) |
Retornará |
| ContainsAll(ICollection) |
Retorna |
| 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á |
| 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 |
| 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 |
| 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 |
| PeekFirst() |
Recupera, mas não remove, o primeiro elemento desse deque ou retorna |
| PeekLast() |
Recupera, mas não remove, o último elemento deste deque ou retorna |
| Poll() |
Recupera e remove a cabeça da fila representada por esse deque (em outras palavras, o primeiro elemento deste deque) ou retorna |
| PollFirst() |
Recupera e remove o primeiro elemento desse deque ou retorna |
| PollLast() |
Recupera e remove o último elemento desse deque ou retorna |
| 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 |
| 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 |
| 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 |
| Size() |
Retorna o número de elementos neste deque. |
| Spliterator() |
Cria um |
| 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 |
| 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 |
| ISequencedCollection.Reversed() |
A ser adicionado |
Métodos de Extensão
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| 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 |