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 Srivastava
Output:

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

Your email address will not be published. Required fields are marked *