Collections Principiante

Usa l'interfaccia Deque con ArrayDeque al posto della classe legacy 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();
Vedi un problema con questo codice? Faccelo sapere.
🎯

Astrazione migliore

Deque modella esplicitamente sia le operazioni di stack sia quelle di coda.

⚡

Minore overhead

ArrayDeque evita la sincronizzazione legacy di Vector.

🧩

Maggiore flessibilità

La stessa interfaccia supporta algoritmi LIFO e FIFO.

Approccio Vecchio
Stack
Approccio Moderno
Deque con ArrayDeque
Dal JDK
6
Difficoltà
Principiante
Da Stack a Deque e ArrayDeque
Disponibile

Disponibile dal JDK 6 (dicembre 2006)

Stack estende la classe sincronizzata legacy Vector. Deque modella direttamente le operazioni di uno stack e ArrayDeque è l'implementazione generica preferita per il lavoro LIFO in memoria.