Collections Iniciante

Use a interface Deque com ArrayDeque em vez da classe legada Stack.

✕ Legacy Stack
Stack<String> stack = new Stack<>();
stack.push("task");
String next = stack.pop();
✓ Deque API
Deque<String> stack = new ArrayDeque<>();
stack.push("task");
String next = stack.pop();
Viu um problema com este código? Nos avise.
🎯

Melhor abstração

Deque modela explicitamente operações de pilha e fila.

⚡

Menor overhead

ArrayDeque evita a sincronização legada de Vector.

🧩

Mais flexível

A mesma interface oferece suporte a algoritmos LIFO e FIFO.

Abordagem Antiga
Stack
Abordagem Moderna
Deque com ArrayDeque
Desde o JDK
6
Dificuldade
Iniciante
De Stack para Deque e ArrayDeque
Disponível

Disponível desde o JDK 6 (dezembro de 2006)

Stack estende a classe sincronizada legada Vector. Deque modela operações de pilha diretamente, e ArrayDeque é a implementação de uso geral preferida para trabalho LIFO em memória.