Open In App

ConcurrentLinkedQueue addAll() method in Java

Improve
Improve
Like Article
Like
Save
Share
Report

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);
    }
}


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.




// 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);
    }
}


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




// 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);
        }
    }
}


Output:

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);
        }
    }
}


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-



Last Updated : 26 Nov, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads