Collections Początkujący

Używaj interfejsu Deque z ArrayDeque zamiast przestarzałej klasy 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();
Widzisz problem z tym kodem? Daj nam znać.
🎯

Lepsza abstrakcja

Deque jawnie modeluje operacje zarówno stosu, jak i kolejki.

⚡

Mniejszy narzut

ArrayDeque nie ponosi kosztu przestarzałej synchronizacji Vector.

🧩

Większa elastyczność

Ten sam interfejs obsługuje algorytmy LIFO i FIFO.

Stare podejście
Stack
Nowoczesne podejście
Deque z ArrayDeque
Od JDK
6
Poziom trudności
Początkujący
Od Stack do Deque i ArrayDeque
Dostępne

Dostępne od JDK 6 (grudzień 2006)

Stack rozszerza przestarzałą synchronizowaną klasę Vector. Deque bezpośrednio modeluje operacje stosu, a ArrayDeque jest preferowaną implementacją ogólnego przeznaczenia do wykonywania operacji LIFO w pamięci.