Interface Java Deque
Interface Java Deque
Neste tutorial, aprenderemos sobre a interface Deque, como usá-la e seus métodos.
O
Deque
A interface da estrutura de coleções Java fornece a funcionalidade de uma fila de duas extremidades. Ele estende o Queue
interface. Trabalho de Deque
Em uma fila regular, os elementos são adicionados por trás e removidos pela frente. No entanto, em um deque, podemos inserir e remover elementos da parte frontal e traseira .
Classes que implementam Deque
Para usar as funcionalidades do
Deque
interface, precisamos usar classes que a implementam:- ArrayDeque
- Lista de links
Como usar o Deque?
Em Java, devemos importar o
java.util.Deque
pacote para usar Deque
.
// Array implementation of Deque
Deque<String> animal1 = new ArrayDeque<>();
// LinkedList implementation of Deque
Deque<String> animal2 = new LinkedList<>();
Aqui, criamos objetos animal1 e animal2 de classes ArrayDeque e LinkedList , respectivamente. Esses objetos podem usar as funcionalidades do
Deque
interface. Métodos de Deque
Desde
Deque
estende o Queue
interface, ele herda todos os métodos da interface Queue. Além dos métodos disponíveis no
Queue
interface, o Deque
interface também inclui os seguintes métodos:- adicionarPrimeiro() - Adiciona o elemento especificado no início do deque. Lança uma exceção se o deque estiver cheio.
- adicionarÚltimo() - Adiciona o elemento especificado no final do deque. Lança uma exceção se o deque estiver cheio.
- ofertaPrimeiro() - Adiciona o elemento especificado no início do deque. Retorna
false
se o deque estiver cheio. - ofertaÚltimo() - 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. - removerPrimeiro() - Retorna e remove o primeiro elemento do deque. Lança uma exceção se o deque estiver vazio.
- removerÚltimo() - 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 Data Structure
O
Stack
classe do Java Collections
framework 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 o
Deque
interface fornece para implementar a pilha:push()
- adiciona um elemento no início de dequepop()
- remove um elemento do início de dequepeek()
- retorna um elemento do início de deque
Implementação do 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<Integer> 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);
}
}
Saída
Deque: [3, 1, 2] First Element: 3 Last Element: 2 Removed First Element: 3 Removed Last Element: 2 Updated Deque: [1]
Para saber mais, visite Java ArrayDeque.
Java