Collections framework · Topic 5 of 8
Queue and Deque
Definition​
A Queue hands items out in the order they arrive (first in, first out). A PriorityQueue hands out the smallest item first. A Deque works at both ends, so ArrayDeque can act as a queue or as a stack.
Example code​
FIFO queue, priority queue and stack
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.PriorityQueue;
import java.util.Queue;
class Demo {
public static void main(String[] args) {
Queue<String> line = new ArrayDeque<>(); // first in, first out
line.offer("Asha");
line.offer("Ravi");
System.out.println(line.poll() + " is served first");
PriorityQueue<Integer> tasks = new PriorityQueue<>(); // smallest number first
tasks.add(5);
tasks.add(1);
tasks.add(3);
System.out.println(tasks.poll() + " then " + tasks.poll());
Deque<String> stack = new ArrayDeque<>(); // last in, first out
stack.push("page 1");
stack.push("page 2");
System.out.println(stack.pop());
}
}
// Output:
// Asha is served first
// 1 then 3
// page 2
Finished this page? Track your progress (saved only in your browser).