PriorityQueue in Java
Hi coders! In this tutorial, we are learning about the PriorityQueue in Java. Since PriorityQueue is a Queue which follows First-In-First- algorithm but the PriorityQueue comes into picture when the elements of the Queue are needed to be accessed according to the priority.
Some points related to PriorityQueue:
- Non-comparable Objects’ PriorityQueue can not be created.
- PriorityQueue is unbounded queues.
- PriorityQueue inherits methods from AbstractQueue, Collection and Object class.
- Null pointer is not allowed in PriorityQueue.
Some of the methods of PriorityQueue:
boolean add(): This function adds the element to the PriorityQueue.
poll(): This function retrieves and removes the head of the PriorityQueue.
remove(): This function removes the element from theĀ PriorityQueue.
peek(): This function retrieves the head of the PriorityQueue.
These are some of the functions of PriorityQueue class.
Code for the PriorityQueue in Java
import java.util.*;
public class Codespeedy
{
public static void main(String args[])
{
// Creating PriorityQueue of Integer type
PriorityQueue<Integer> pQue = new PriorityQueue<Integer>();
/* inserting elements to the PriorityQueue*/
pQue.add(5);
pQue.add(7);
pQue.add(4);
pQue.add(9);
/* Print the most prior element*/
System.out.println("Head of the priority queue:"+ pQue.peek());
/* Print all elements*/
System.out.println("The elements of the queue are:");
Iterator itr = pQue.iterator();
while (itr.hasNext())
System.out.println(itr.next());
}
}
//Code is provided by Anubhav SrivastavaOutput: Head of the priority queue:4 The elements of the queue are: 4 7 5 9
PriorityQueue is widely used in Dijkstra’s algorithm and prim’s algorithm.
Some of the constructors of PriorityQueue are:
- PriorityQueue(): This is the basic constructor of PriorityQueue without any argument.
- PriorityQueue(Collection<E> c)
- PriorityQueue(int initialCap): Construct a PriorityQueue with the specified initial capacity.
Hence, PriorityQueue is a type of queue .
Hope you like the solution.
Leave a Reply