De Stack à Deque et ArrayDeque
Utilisez l'interface Deque avec ArrayDeque plutôt que l'ancienne classe Stack.
Comparaison de Code
✕ 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();
Un problème avec ce code ? Dites-le nous.
Pourquoi la méthode moderne gagne
Meilleure abstraction
Deque modélise explicitement les opérations de pile et de file.
Moins de surcharge
ArrayDeque évite la synchronisation historique de Vector.
Plus flexible
La même interface prend en charge les algorithmes LIFO et FIFO.
Ancienne Approche
Stack
Approche Moderne
Deque avec ArrayDeque
Depuis JDK
6
Difficulté
Débutant
Support JDK
De Stack à Deque et ArrayDeque
Disponible
Disponible depuis JDK 6 (décembre 2006)
Comment ça fonctionne
Stack étend l'ancienne classe synchronisée Vector. Deque modélise directement les opérations de pile, et ArrayDeque est l'implémentation polyvalente recommandée pour les traitements LIFO en mémoire.
Documentation Associée
Preuve