The java.util.PriorityQueue.offer() method is used to insert a particular element into the Priority Queue. It acts similar to the add() method of Priority Queue.
Syntax:
Priority_Queue.offer(Object element)
Parameters: The parameter element is of the type PriorityQueue and refers to the element to be inserted into the Queue.
Return Value: The method returns True if the value is successfully inserted into the queue.
Exceptions: The method can throw two types of exceptions:
- NullPointerException: If the element to be inserted is NULL.
- ClassCastException: If an element to be inserted is of a different type that cannot be compared to the existing elements of the Queue.
Below programs illustrate the java.util.PriorityQueue.offer() method
Program 1:
// Java code to illustrate offer()import java.util.*;  public class PriorityQueueDemo {    public static void main(String args[])    {        // Creating an empty PriorityQueue        PriorityQueue<String> queue = new PriorityQueue<String>();          // Use add() method to add elements into the Queue        queue.add("Welcome");        queue.add("To");        queue.add("Geeks");        queue.add("4");        queue.add("Geeks");          // Displaying the PriorityQueue        System.out.println("Initial PriorityQueue: " + queue);          // Inserting using offer()        queue.offer("The");        queue.offer("Priority");        queue.offer("Class");          // Displaying th final Queue        System.out.println("Priority queue after Insertion: " + queue);    }} |
Initial PriorityQueue: [4, Geeks, To, Welcome, Geeks] Priority queue after Insertion: [4, Class, Priority, Geeks, Geeks, To, The, Welcome]
Program 2:
// Java code to illustrate offer()import java.util.*;  public class PriorityQueueDemo {    public static void main(String args[])    {        // Creating an empty PriorityQueue        PriorityQueue<Integer> queue = new PriorityQueue<Integer>();          // Use add() method to add elements into the Queue        queue.add(10);        queue.add(15);        queue.add(30);        queue.add(20);        queue.add(5);          // Displaying the PriorityQueue        System.out.println("Initial PriorityQueue: " + queue);          // Inserting using offer()        queue.offer(100);        queue.offer(120);        queue.offer(150);          // Displaying th final Queue        System.out.println("Priority queue after Insertion: " + queue);    }} |
Initial PriorityQueue: [5, 10, 30, 20, 15] Priority queue after Insertion: [5, 10, 30, 20, 15, 100, 120, 150]
