The add(E e) method of PriorityBlockingQueue inserts the element passed as a parameter to the method at the tail of this PriorityBlockingQueue. This method returns true if the adding of the element is successful. Else it returns false.
Syntax:
public boolean add(E e)
Parameter: This method takes a mandatory parameter e which is the element to be inserted in PriorityBlockingQueue.
Returns: This method returns a boolean response. It returns true if the adding of the element is successful, else it returns false.
Exception: This method throws following exceptions:
- ClassCastException: if the element passed as parameter cannot be compared to the element contained by queue to keep priority queue’s ordering.
- NullPointerException: if the element passed as parameter is null.
Below program illustrate illustrate add() method of PriorityBlockingQueue:
Example 1:
// Java Program to Demonstrate add(E e) method // of PriorityBlockingQueue. import java.util.concurrent.PriorityBlockingQueue; public class GFG { public static void main(String[] args) { // define capacity of PriorityBlockingQueue int capacity = 15 ; // create object of PriorityBlockingQueue PriorityBlockingQueue<Integer> PrioBlockingQueue = new PriorityBlockingQueue<Integer>(capacity); // add numbers PrioBlockingQueue.add( 526734 ); PrioBlockingQueue.add( 84879456 ); PrioBlockingQueue.add( 4586415 ); // print queue after add operation System.out.println( "After Adding Some Numbers" ); System.out.println( "PriorityBlockingQueue:" + PrioBlockingQueue); // add more numbers PrioBlockingQueue.add( 156116 ); PrioBlockingQueue.add( 61651191 ); // print queue after add operation System.out.println( "\nAfter adding Some More Numbers" ); System.out.println( "PriorityBlockingQueue:" + PrioBlockingQueue); } } |
After Adding Some Numbers PriorityBlockingQueue:[526734, 84879456, 4586415] After adding Some More Numbers PriorityBlockingQueue:[156116, 526734, 4586415, 84879456, 61651191]
Example 2: To demonstrate NullPointerException thrown by add() method.
// Java Program to Demonstrate Exception // thrown by add(E e) method // of PriorityBlockingQueue. import java.util.concurrent.PriorityBlockingQueue; public class GFG { public static void main(String[] args) { // define capacity of PriorityBlockingQueue int capacity = 15 ; // create object of PriorityBlockingQueue PriorityBlockingQueue<Integer> PrioBlockingQueue = new PriorityBlockingQueue<Integer>(capacity); // add numbers PrioBlockingQueue.add( 526734 ); PrioBlockingQueue.add( 84879456 ); PrioBlockingQueue.add( 4586415 ); try { // try to add null to PrioBlockingQueue PrioBlockingQueue.add( null ); // print PrioBlockingQueue after add operation System.out.println( "PriorityBlockingQueue:" + PrioBlockingQueue); } catch (Exception e) { System.out.println( "Exception when adding null: " + e); } } } |
Exception when adding null: java.lang.NullPointerException
Reference:
https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html#add-E-
Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.