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
falsese o deque estiver cheio. - ofertaÚltimo() - 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. - 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
nullse o deque estiver vazio. - pollLast() - Retorna e remove o último elemento do deque. Retorna
nullse 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