Java Priority Queue — Free Java Tutorial
Learn Java Priority Queue in Java with a free, beginner-friendly tutorial, examples and practice for Indian students on Syllab.in.
TL;DR: Learn Java Priority Queue in Java with a free, beginner-friendly tutorial, examples and practice for Indian students on Syllab.in.
Written & reviewed by the Syllab.in Academic Team (CBSE/NCERT subject experts) · Updated
Java Priority Queue in Java
PriorityQueue is a min-heap by default — poll() always returns the smallest element. Use Collections.reverseOrder() or a custom Comparator for a max-heap.
Operations: offer(e) (insert), poll() (remove smallest), peek() (view smallest without removing). All are O(log n) except peek which is O(1).
PriorityQueue does not maintain sorted order for iteration — only the head element (accessible via peek/poll) is guaranteed to be the minimum.
Common uses: Dijkstra's shortest path, A* search, task scheduling by priority, merging sorted lists, finding top-K elements.
Java Priority Queue — Syntax
// Min-heap (default) PriorityQueue<Integer> minHeap = new PriorityQueue<>(); minHeap.offer(5); minHeap.offer(1); minHeap.offer(3); minHeap.poll(); // 1 (smallest) // Max-heap PriorityQueue<Integer> maxHeap = new PriorityQueue<>(Collections.reverseOrder()); // Custom priority PriorityQueue<Task>
Learn Java Priority Queue step by step with Syllab's free interactive Java tutorial — runnable code examples, practice exercises and instant AI feedback, all free with no signup. Explore the full Java course →