0Pricing
Java Academy · Lesson

Deque Operations: Stack and Queue

Use LinkedList as a Deque to implement stack (push/pop) and queue (offer/poll) behavior.

Deque: Double-Ended Queue

A Deque (Double-Ended Queue) allows insertions and removals at both ends. Java's Deque interface is implemented by LinkedList and ArrayDeque.

import java.util.Deque;
import java.util.ArrayDeque;

Deque<String> deque = new ArrayDeque<>();
deque.addFirst("A"); // front
deque.addLast("B");  // back
deque.addFirst("Z"); // new front

System.out.println(deque); // [Z, A, B]

ArrayDeque vs LinkedList as Deque

ArrayDeque is generally preferred over LinkedList as a Deque:

  • No per-element node overhead
  • Better cache locality
  • Slightly faster for stack/queue operations

Only choose LinkedList when you also need the List interface.

All lessons in this course

  1. LinkedList Internals
  2. Deque Operations: Stack and Queue
  3. LinkedList vs ArrayList Trade-offs
  4. PriorityQueue for Ordered Processing
← Back to Java Academy