Neste tutorial, aprenderemos sobre a interface Deque, como usá-la e seus métodos.
A Deque
interface da estrutura de coleções Java fornece a funcionalidade de uma fila dupla. Ele estende a Queue
interface.
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 Deque
interface, precisamos usar classes que a implementam:
- ArrayDeque
- LinkedList
Como usar o Deque?
Em Java, devemos importar o java.util.Deque
pacote 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 Deque
interface.
Métodos de Deque
Como Deque
estende a Queue
interface, ele herda todos os métodos da interface Queue.
Além dos métodos disponíveis na Queue
interface, a Deque
interface 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
false
se o deque estiver cheio. - offerLast () - Adiciona o elemento especificado no final do deque. Retorna
false
se 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
null
se o deque estiver vazio. - peekLast () - Retorna o último elemento do deque. Retorna
null
se 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
null
se o deque estiver vazio. - pollLast () - Retorna e remove o último elemento do deque. Retorna
null
se o deque estiver vazio.
Deque as Stack Estrutura de dados
A Stack
classe da Collections
estrutura Java fornece a implementação da pilha.
No entanto, é recomendável usar Deque
como uma pilha em vez da classe Stack. É porque os métodos de Stack
são sincronizados.
Aqui estão os métodos que a Deque
interface fornece para implementar a pilha:
push()
- adiciona um elemento no início de dequepop()
- remove um elemento do início do dequepeek()
- 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.