Java Deque

Neste tutorial, aprenderemos sobre a interface Deque, como usá-la e seus métodos.

A Dequeinterface da estrutura de coleções Java fornece a funcionalidade de uma fila dupla. Ele estende a Queueinterface.

Trabalho de Deque

Em uma fila normal, os elementos são adicionados pela parte traseira e removidos pela frente. No entanto, em um deque, podemos inserir e remover elementos da parte dianteira e traseira .

Classes que implementam Deque

Para usar as funcionalidades da Dequeinterface, precisamos usar classes que a implementam:

  • ArrayDeque
  • LinkedList

Como usar o Deque?

Em Java, devemos importar o java.util.Dequepacote a ser usado Deque.

 // Array implementation of Deque Deque animal1 = new ArrayDeque(); // LinkedList implementation of Deque Deque animal2 = new LinkedList(); 

Aqui, criamos os objetos animal1 e animal2 das classes ArrayDeque e LinkedList, respectivamente. Esses objetos podem usar as funcionalidades da Dequeinterface.

Métodos de Deque

Como Dequeestende a Queueinterface, ele herda todos os métodos da interface Queue.

Além dos métodos disponíveis na Queueinterface, a Dequeinterface também inclui os seguintes métodos:

  • addFirst () - Adiciona o elemento especificado no início do deque. Lança uma exceção se o deque estiver cheio.
  • addLast () - Adiciona o elemento especificado no final do deque. Lança uma exceção se o deque estiver cheio.
  • offerFirst () - Adiciona o elemento especificado no início do deque. Retorna falsese o deque estiver cheio.
  • offerLast () - Adiciona o elemento especificado no final do deque. Retorna falsese o deque estiver cheio.
  • getFirst () - Retorna o primeiro elemento do deque. Lança uma exceção se o deque estiver vazio.
  • getLast () - Retorna o último elemento do deque. Lança uma exceção se o deque estiver vazio.
  • peekFirst () - Retorna o primeiro elemento do deque. Retorna nullse o deque estiver vazio.
  • peekLast () - Retorna o último elemento do deque. Retorna nullse o deque estiver vazio.
  • removeFirst () - Retorna e remove o primeiro elemento do deque. Lança uma exceção se o deque estiver vazio.
  • removeLast () - Retorna e remove o último elemento do deque. Lança uma exceção se o deque estiver vazio.
  • pollFirst () - Retorna e remove o primeiro elemento do deque. Retorna nullse o deque estiver vazio.
  • pollLast () - Retorna e remove o último elemento do deque. Retorna nullse o deque estiver vazio.

Deque as Stack Estrutura de dados

A Stackclasse da Collectionsestrutura Java fornece a implementação da pilha.

No entanto, é recomendável usar Dequecomo uma pilha em vez da classe Stack. É porque os métodos de Stacksão sincronizados.

Aqui estão os métodos que a Dequeinterface fornece para implementar a pilha:

  • push() - adiciona um elemento no início de deque
  • pop() - remove um elemento do início do deque
  • peek() - retorna um elemento do início de deque

Implementação de Deque na classe ArrayDeque

 import java.util.Deque; import java.util.ArrayDeque; class Main ( public static void main(String() args) ( // Creating Deque using the ArrayDeque class Deque numbers = new ArrayDeque(); // add elements to the Deque numbers.offer(1); numbers.offerLast(2); numbers.offerFirst(3); System.out.println("Deque: " + numbers); // Access elements of the Deque int firstElement = numbers.peekFirst(); System.out.println("First Element: " + firstElement); int lastElement = numbers.peekLast(); System.out.println("Last Element: " + lastElement); // Remove elements from the Deque int removedNumber1 = numbers.pollFirst(); System.out.println("Removed First Element: " + removedNumber1); int removedNumber2 = numbers.pollLast(); System.out.println("Removed Last Element: " + removedNumber2); System.out.println("Updated Deque: " + numbers); ) ) 

Resultado

 Deque: (3, 1, 2) Primeiro elemento: 3 Último elemento: 2 Primeiro elemento removido: 3 Último elemento removido: 2 Atualizado Deque: (1) 

Para saber mais, visite Java ArrayDeque.

Artigos interessantes...