De Stack para Deque e ArrayDeque
Use a interface Deque com ArrayDeque em vez da classe legada Stack.
Comparação de Código
✕ 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.
Por que a forma moderna ganha
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
Suporte JDK
De Stack para Deque e ArrayDeque
Disponível
Disponível desde o JDK 6 (dezembro de 2006)
Como funciona
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.
Documentação Relacionada
Prova