GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing javaevolved.dev — Stack to Deque and ArrayDeque | java.evolved
Collections
Beginner
Stack to Deque and ArrayDequeUse the Deque interface with ArrayDeque instead of the legacy Stack class. Code Comparison
✕ 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();
See a problem with this code? Let us know.
Why the modern way wins
🎯
Better abstractionDeque explicitly models both stack and queue operations. ⚡
Lower overheadArrayDeque avoids Vector's legacy synchronization. 🧩
More flexibleThe same interface supports LIFO and FIFO algorithms. Old Approach
Stack
Modern Approach
Deque with ArrayDeque
Since JDK
6
Difficulty
Beginner
JDK Support
Stack to Deque and ArrayDeque
Available
Available since JDK 6 (December 2006) How it works
Stack extends the legacy synchronized Vector class. Deque models stack operations directly, and ArrayDeque is the preferred general-purpose implementation for in-memory LIFO work. Related Documentation
Proof
Related patterns
Collections
Beginner
Sequenced collectionsJava 8
// Get last element Object last = list.get(list.size() - 1); // Get first Object first = list.get(0); // Reverse iteration: manual Java 21+
var last = list.getLast(); var first = list.getFirst(); var reversed = list.reversed();
JDK 21+
→
Collections
Beginner
Reverse list iterationJava 8
for (ListIterator<String> it =
list.listIterator(list.size());
it.hasPrevious(); ) {
String element = it.previous();
System.out.println(element);
}
Java 21+
for (String element : list.reversed()) {
IO.println(element);
}
JDK 21+
→
Collections
Beginner
Immutable list creationJava 8
List<String> list =
Collections.unmodifiableList(
new ArrayList<>(
Arrays.asList("a", "b", "c")
)
);
Java 9+
List<String> list =
List.of("a", "b", "c");
JDK 9+
→
|
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |