ConcurrentLinkedQueue addAll() method in Java

The addAll() method of ConcurrentLinkedQueue is used to inserts all the elements of the Collection, passed as parameter to this method, at the end of a ConcurrentLinkedQueue. The insertion of element is in same order as returned by the collections iterator.

Syntax:

public boolean addAll(Collection<? extends E> c)

Parameter: This method takes a parameter cwhich represent collection whose elements are needed to be appended at the end of this ConcurrentLinkedQueue.



Returns: This method returns true if at least one action of insertion is performed.

Exception: This method throw two different Exceptions:

  • NullPointerException – if the passed collection or any of its elements are null.
  • IllegalArgumentException – if the passed collection is this queue itself.

Below programs illustrate addAll() method of ConcurrentLinkedQueue:

Example 1: Trying to add a list of numbers to ConcurrentLinkedQueue.

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java Program Demonstrate addAll()
// method of ConcurrentLinkedQueue
  
import java.util.concurrent.*;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create an ConcurrentLinkedQueue
        ConcurrentLinkedQueue<Integer>
            queue = new ConcurrentLinkedQueue<Integer>();
  
        // Add Numbers to queue
        queue.add(4353);
  
        // create a ArrayList of Numbers
        ArrayList<Integer> arraylist = new ArrayList<Integer>();
  
        // add some numbers to ArrayList
        arraylist.add(377139);
        arraylist.add(624378);
        arraylist.add(654793);
        arraylist.add(764764);
        arraylist.add(838494);
        arraylist.add(632845);
  
        // Displaying the existing ConcurrentLinkedQueue
        System.out.println("ConcurrentLinkedQueue: " + queue);
  
        // Displaying the existing Collection
        System.out.println("Collection to be added: " + arraylist);
  
        // apply addAll() method and passed the arraylist as parameter
        boolean response = queue.addAll(arraylist);
  
        // Displaying the existing ConcurrentLinkedQueue
        System.out.println("Collection added: " + response);
  
        // Displaying the existing ConcurrentLinkedQueue
        System.out.println("ConcurrentLinkedQueue: " + queue);
    }
}

chevron_right


Output:

ConcurrentLinkedQueue: [4353]
Collection to be added: [377139, 624378, 654793, 764764, 838494, 632845]
Collection added: true
ConcurrentLinkedQueue: [4353, 377139, 624378, 654793, 764764, 838494, 632845]

Example 2: Trying to add a list of Strings to ConcurrentLinkedQueue.

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java Program Demonstrate addAll()
// method of ConcurrentLinkedQueue
  
import java.util.concurrent.*;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create an ConcurrentLinkedQueue
        ConcurrentLinkedQueue<String>
            queue = new ConcurrentLinkedQueue<String>();
  
        // Add String to queue
        queue.add("Aman");
        queue.add("Amar");
  
        // create a ArrayList of Numbers
        ArrayList<String> arraylist = new ArrayList<String>();
  
        // add some numbers to ArrayList
  
        arraylist.add("Sanjeet");
        arraylist.add("Rabi");
        arraylist.add("Debasis");
        arraylist.add("Raunak");
        arraylist.add("Mahesh");
  
        // Displaying the existing ConcurrentLinkedQueue
        System.out.println("ConcurrentLinkedQueue: " + queue);
  
        // Displaying the existing Collection
        System.out.println("Collection to be added: " + arraylist);
  
        // apply addAll() method and passed the arraylist as parameter
        boolean response = queue.addAll(arraylist);
  
        // Displaying the existing ConcurrentLinkedQueue
        System.out.println("Collection added: " + response);
  
        // Displaying the existing ConcurrentLinkedQueue
        System.out.println("ConcurrentLinkedQueue: " + queue);
    }
}

chevron_right


Output:

ConcurrentLinkedQueue: [Aman, Amar]
Collection to be added: [Sanjeet, Rabi, Debasis, Raunak, Mahesh]
Collection added: true
ConcurrentLinkedQueue: [Aman, Amar, Sanjeet, Rabi, Debasis, Raunak, Mahesh]

Example 3: Showing NullPointerException

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java Program Demonstrate addAll()
// method of ConcurrentLinkedQueue
  
import java.util.concurrent.*;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create an ConcurrentLinkedQueue
        ConcurrentLinkedQueue<String>
            queue = new ConcurrentLinkedQueue<String>();
  
        // Add String to queue
        queue.add("Aman");
        queue.add("Amar");
  
        // create a ArrayList which is equal to null
        ArrayList<String> arraylist = null;
  
        // Displaying the existing ConcurrentLinkedQueue
        System.out.println("ConcurrentLinkedQueue: " + queue);
  
        // Displaying the existing Collection
        System.out.println("Collection to be added: " + arraylist);
  
        try {
            // apply addAll() method and pass the arraylist as parameter
            // since the arraylist is null, exception will be thrown
            boolean response = queue.addAll(arraylist);
        }
        catch (NullPointerException e) {
            System.out.println("Exception thrown while adding null: " + e);
        }
    }
}

chevron_right


Output:

ConcurrentLinkedQueue: [Aman, Amar]
Collection to be added: null
Exception thrown while adding null: java.lang.NullPointerException

Example 4: Showing IllegalArgumentException

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java Program Demonstrate addAll()
// method of ConcurrentLinkedQueue
  
import java.util.concurrent.*;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create an ConcurrentLinkedQueue
        ConcurrentLinkedQueue<String>
            queue = new ConcurrentLinkedQueue<String>();
  
        // Add String to queue
        queue.add("Aman");
        queue.add("Amar");
  
        // Displaying the existing ConcurrentLinkedQueue
        System.out.println("ConcurrentLinkedQueue: " + queue);
  
        try {
            // apply addAll() method and passed the queue as parameter
            boolean response = queue.addAll(queue);
        }
        catch (IllegalArgumentException e) {
            System.out.println("Exception thrown while adding queue"
                               + " to itself when collection is required: " + e);
        }
    }
}

chevron_right


Output:

ConcurrentLinkedQueue: [Aman, Amar]
Exception thrown 
 while adding queue to itself
 when collection is required: java.lang.IllegalArgumentException

Reference: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentLinkedQueue.html#addAll-java.util.Collection-



My Personal Notes arrow_drop_up

I am a Developer I love to code and bring my ideas alive

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.