Java PriorityQueue offer(E) Method



Description

The Java PriorityQueue offer(E e) method inserts the specified element E at the end of this queue. It is similar to add() method.

Declaration

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

public boolean offer(E e)

Parameters

e − The element to be added at the end.

Return Value

This method returns true if the element was added to this queue, else false.

Exception

NullPointerException − if the specified element is null.

Adding Element to the End of the PriorityQueue of Ints Example

The following example shows the usage of Java PriorityQueue offer(E) method with Integers. We're adding few elements to list using add() method and then using offer() method, we're adding two elements in the end. Lastly we're printing the PriorityQueue object to see the final result.

package com.tutorialspoint;

import java.util.PriorityQueue;

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

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

      // use add() method to add elements in the queue
      queue.add(1);
      queue.add(2);
      queue.add(3);
      queue.add(4);        
      queue.add(5);
      queue.add(6);

      // the values will be printed in the same order
      queue.offer(7);
      queue.offer(8);

      // let us print all the elements available in queue
      System.out.println("PriorityQueue = " + queue);      
   }
}

Output

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

PriorityQueue = [1, 2, 3, 4, 5, 6, 7, 8]

Adding Element to the End of the PriorityQueue of Strings Example

The following example shows the usage of Java PriorityQueue offer(E) method with Strings. We're adding few elements to list using add() method and then using offer() method, we're adding two elements in the end. Lastly we're printing the PriorityQueue object to see the final result.

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("A");
      queue.add("B");
      queue.add("C");
      queue.add("D");        
      queue.add("E");
      queue.add("F");

      // the values will be printed in the same order
      queue.offer("G");
      queue.offer("H");

      // let us print all the elements available in queue
      System.out.println("PriorityQueue = " + queue);      
   }
}

Output

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

PriorityQueue = [A, B, C, D, E, F, G, H]

Adding Element to the end of the PriorityQueue of Objects Example

The following example shows the usage of Java PriorityQueue offer(E) method with Student objects. We're adding few elements to list using add() method and then using offer() method, we're adding two elements in the end. Lastly we're printing the PriorityQueue object to see the final result.

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"));

      // use offer() method to add element at the end of the queue
      queue.offer(new Student(4, "Rohan"));
      queue.offer(new Student(5, "Sohan"));

      // let us print all the elements available in queue
      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 ], [ 4, Rohan ], [ 5, Sohan ]]
java_util_priorityqueue.htm
Advertisements