Thursday, September 4, 2025
HomeLanguagesJavaBlockingQueue add() in Java with examples

BlockingQueue add() in Java with examples

The add(E e) method of BlockingQueue interface inserts the element passed in the parameter to the end of the Queue is there is space. If the BlockingQueue os capacity restricted and no space is left for insertion, it returns an IllegalStateException.

Syntax: 

public void add(E e)

Parameters: This method accepts a mandatory parameter e which is the element to be inserted in the end of the BlockingQueue. 

Returns: This method returns true on successful insertion.

Exception:  

  • IllegalStateException: if the element cannot be added at this time due to capacity restrictions
  • NullPointerException: if the specified element is null

Note: The add() method of BlockingQueue has been inherited from the Queue class in Java.
Below programs illustrate add() method of BlockingQueue:

Program 1: 

Java




// Java Program Demonstrate add()
// method of BlockingQueue
 
import java.util.*;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingDeque;
 
public class GFG {
    public static void main(String[] args)
        throws IllegalStateException
    {
 
        // create object of BlockingQueue
        BlockingQueue<Integer> BQ
            = new LinkedBlockingDeque<Integer>();
 
        // Add numbers to the BlockingQueue
        BQ.add(7855642);
        BQ.add(35658786);
        BQ.add(5278367);
        BQ.add(74381793);
 
        // before removing print BlockingQueue
        System.out.println("Blocking Queue: " + BQ);
    }
}


Output

Blocking Queue: [7855642, 35658786, 5278367, 74381793]

Program 2: 

Java




// Java Program Demonstrate add()
// method of LinkedBlockingDeque
// when null is inserted
 
import java.util.*;
import java.util.concurrent.LinkedBlockingDeque;
 
public class GFG {
    public static void main(String[] args)
        throws IllegalStateException
    {
 
        // create object of LinkedBlockingDeque
        LinkedBlockingDeque<Integer> BQ
            = new LinkedBlockingDeque<Integer>();
 
        // Add numbers to end of LinkedBlockingDeque
        BQ.add(7855642);
        BQ.add(35658786);
        BQ.add(5278367);
 
        // NULL
        BQ.add(null);
 
        // before removing print Deque
        System.out.println("Linked Blocking Deque: " + BQ);
    }
}


Output: 
 

Exception in thread "main" java.lang.IllegalStateException: Deque full
    at java.util.concurrent.LinkedBlockingDeque.addLast(LinkedBlockingDeque.java:335)
    at java.util.concurrent.LinkedBlockingDeque.add(LinkedBlockingDeque.java:633)
    at GFG.main(GFG.java:25)

Reference: https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingQueue.html#add(E)
 

Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32260 POSTS0 COMMENTS
Milvus
81 POSTS0 COMMENTS
Nango Kala
6626 POSTS0 COMMENTS
Nicole Veronica
11795 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11855 POSTS0 COMMENTS
Shaida Kate Naidoo
6747 POSTS0 COMMENTS
Ted Musemwa
7023 POSTS0 COMMENTS
Thapelo Manthata
6695 POSTS0 COMMENTS
Umr Jansen
6714 POSTS0 COMMENTS