Pode explicar as principais diferenças entre as estruturas de dados Queue e Deque?
sobes.tech IA
Resposta da IA
Queue e Deque são estruturas de dados para armazenar elementos numa ordem específica de extração, mas com capacidades diferentes:
-
Queue (fila) — é uma estrutura de dados que funciona pelo princípio FIFO (First In, First Out). Os elementos são adicionados ao final e extraídos do início. Exemplo: uma fila de tarefas.
-
Deque (fila de duas extremidades) — uma extensão de Queue que permite adicionar e remover elementos tanto do início quanto do final. Isso oferece maior flexibilidade, por exemplo, para implementar uma pilha ou uma fila.
Em Java, a interface Queue suporta operações offer(), poll(), peek(), e Deque adiciona métodos como addFirst(), addLast(), removeFirst(), removeLast(), etc.
Exemplo de uso do Deque como pilha:
Deque<Integer> stack = new ArrayDeque<>();
stack.push(1); // adiciona elemento no topo
stack.push(2);
int top = stack.pop(); // remove 2
Assim, o Deque é mais versátil do que a Queue.