Java PriorityQueue add() Method



Description

The Java PriorityQueue add(E e) method inserts the specified element E at the end of the queue. This method is equivalent to addLast(E). Insertion order is maintained while adding the element to the PriorityQueue and we can check the same by printing each element one by one.

Declaration

Following is the declaration for java.util.PriorityQueue.add() method

public boolean add(E e)

Parameters

e − The element to be added in the queue.

Return Value

This method returns true if given element is added successfully into the queue, otherwise it returns false.

Exception

NullPointerException − if the specified element is null.

Adding an Element to PriorityQueue of Ints Example

The following example shows the usage of Java PriorityQueue add(E) method to add Integers. We're adding couple of Integers to the PriorityQueue object using add() method calls per element and then print each element to show the elements added.

package com.tutorialspoint;

import java.util.PriorityQueue;

public class PriorityQueueDemo {
   public static void main(String[] args) {
      
      // create an empty priority queue with an initial capacity
      PriorityQueue<Integer> queue = new PriorityQueue<>(5);

      // use add() method to add elements in the queue
      queue.add(20);
      queue.add(30);
      queue.add(20);
      queue.add(30);
      queue.add(15);
      queue.add(22);
      queue.add(11);

      // let us print all the elements available in queue
      for (Integer number : queue) {
         System.out.println("Number = " + number);
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Number = 11
Number = 20
Number = 15
Number = 30
Number = 30
Number = 22
Number = 20

Adding an Element to PriorityQueue of Strings Example

The following example shows the usage of Java PriorityQueue add(E) method to add Strings. We're adding couple of strings to the PriorityQueue object using add() method calls per element and then printing the PriorityQueue using its toString() method.

package com.tutorialspoint;

import java.util.PriorityQueue;

public class PriorityQueueDemo {
   public static void main(String[] args) {
      
      // create an empty priority queue
      PriorityQueue<String> queue = new PriorityQueue<>();

      // use add() method to add elements in the queue
      queue.add("Welcome");
      queue.add("To");
      queue.add("Tutorialspoint");
      System.out.println("PriorityQueue = " + queue);      
   }
}

Output

Let us compile and run the above program, this will produce the following result −

PriorityQueue = [To, Welcome, Tutorialspoint]

Adding an Element to PriorityQueue of Objects Example

The following example shows the usage of Java PriorityQueue add(E) method to add Student objects. We're adding couple of Student objects to the PriorityQueue object using add() method calls per element and then printing the PriorityQueue using its toString() method.

package com.tutorialspoint;

import java.util.PriorityQueue;

public class PriorityQueueDemo {
   public static void main(String[] args) {

      // create an empty priority queue
      PriorityQueue<Student> queue = new PriorityQueue<>();

      // use add() method to add elements in the queue
      queue.add(new Student(1, "Julie"));
      queue.add(new Student(2, "Robert"));
      queue.add(new Student(3, "Adam"));
      System.out.println("PriorityQueue = " + queue);      
   }
}

class Student implements Comparable<Student> {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
   
   @Override
   public boolean equals(Object obj) {
      Student s = (Student)obj;
      return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
   }

   @Override
   public int compareTo(Student student) {
      return this.rollNo - student.rollNo;
   }
}

Output

Let us compile and run the above program, this will produce the following result −

PriorityQueue = [[ 1, Julie ], [ 2, Robert ], [ 3, Adam ]]
java_util_priorityqueue.htm
Advertisements