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.
// 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);    }} |
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.
// 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);    }} |
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
// 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);        }    }} |
ConcurrentLinkedQueue: [Aman, Amar] Collection to be added: null Exception thrown while adding null: java.lang.NullPointerException
Example 4: Showing IllegalArgumentException
// 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);        }    }} |
ConcurrentLinkedQueue: [Aman, Amar] Exception thrown while adding queue to itself when collection is required: java.lang.IllegalArgumentException
