English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, vamos aprender sobre a interface Deque, como usá-la e seus métodos.
A interface Deque do framework de coleções Java fornece a funcionalidade de fila dupla (Deque). Ela herda a interface Queue.
Em uma fila comum, os elementos são adicionados pelo final e removidos pelo início. Mas, na fila dupla, podemosInserir e remover elementos de frente e de trás.
Para usar as funcionalidades da interface Deque, precisamos usar classes que implementam a interface:
No Java,我们必须o importar o pacote java.util.Deque para usar Deque.
Deque<String> animal1 = new ArrayDeque<>(); Deque<String> animal2 = new LinkedList<>();
Aqui, criamos os objetos dos tipos ArrayDeque e LinkedList chamados animal1e animal2. Esses objetos podem usar as funcionalidades da interface Deque.
Como Deque herda a interface Queue, portanto, ela herdada interface QueueTodos os métodos.
Além dos métodos disponíveis na interface Queue, a interface Deque inclui os seguintes métodos:
addFirst() - Adicionar o elemento especificado no início da fila dupla. Se a fila dupla já estiver cheia, lançar uma exceção.
addLast() - Adicionar o elemento especificado no final da fila dupla. Se a fila dupla já estiver cheia, lançar uma exceção.
offerFirst() - Adicionar o elemento especificado no início da fila dupla. Se a fila dupla já estiver cheia, retornar false.
offerLast() - Adicionar o elemento especificado no final da fila dupla. Se a fila dupla estiver cheia, retornar false.
getFirst() - Retornar o primeiro elemento da fila dupla. Se a fila dupla estiver vazia, lançar exceção.
getLast() - Retornar o último elemento da fila dupla. Se a fila dupla estiver vazia, lançar exceção.
peekFirst() - Retornar o primeiro elemento da fila dupla. Se a fila dupla estiver vazia, retornar null.
peekLast() - Retornar o último elemento da fila dupla. Se a fila dupla estiver vazia, retornar null.
removeFirst() - Retornar e remover o primeiro elemento da fila dupla. Se a fila dupla estiver vazia, lançar exceção.
removeLast() - Retornar e remover o último elemento da fila dupla. Se a fila dupla estiver vazia, lançar exceção.
pollFirst() - Retornar e remover o primeiro elemento da fila dupla. Se a fila dupla estiver vazia, retornar null.
pollLast() - Retornar e remover o último elemento da fila dupla. Se a fila dupla estiver vazia, retornar null.
A classe Stack do framework Java Collections fornece uma implementação de pilha.
No entanto, é recomendável usar Deque como pilha em vez deClasse StackIsso é porque os métodos da pilha são sincronizados.
A seguir estão os métodos fornecidos pela interface Deque para implementação de pilha:
push() - Adicionar elemento na extremidade inicial da fila dupla
pop() - Remover elemento da extremidade inicial da fila dupla
peek() - Retornar um elemento da extremidade inicial da fila dupla
import java.util.Deque; import java.util.ArrayDeque; class Main { public static void main(String[] args) { // Criar Deque usando a classe ArrayDeque Deque<Integer> numbers = new ArrayDeque<>(); //Adicionar elementos ao Deque numbers.offer(1); numbers.offerLast(2); numbers.offerFirst(3); System.out.println("Deque: ") + numbers); //Acessar elementos do Deque int firstElement = numbers.peekFirst(); System.out.println("Primeiro elemento: ") + firstElement); int lastElement = numbers.peekLast(); System.out.println("Last element: " + lastElement); //Remove element from Deque int removedNumber1 = numbers.pollFirst(); System.out.println("Remove the first element: " + removedNumber1); int removedNumber2 = numbers.pollLast(); System.out.println("Remove the last element: " + removedNumber2); System.out.println("Updated Deque: " + numbers); } }
Output result
Deque: [3, 1, 2] First element: 3 Last element: 2 Remove the first element: 3 Remove the last element: 2 Updated Deque: [1]
For more information, please visitArrayDeque Java.