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