The addAll(E e) method of AbstractQueue adds all of the elements in the specified collection to this queue.
Syntax:
Java
Java
Java
public boolean addAll(Collection c)Parameters: This method accepts a mandatory parameter collection containing elements to be added to this queue Returns: The method returns true if this queue changed as a result of the call Exception: This method throws following exceptions:
- IllegalStateException: if not all the elements can be added at this time due to insertion restrictions
- NullPointerException: if the specified collection contains a null element and this queue does not permit null elements, or if the specified collection is null
- ClassCastException - if the class of an element of the specified collection prevents it from being added to this queue
- IllegalArgumentException - if some property of an element of the specified collection prevents it from being added to this queue, or if the specified collection is this queue
// Java program to illustrate the
// AbstractQueue addAll() method
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
// Creating object of AbstractQueue<Integer>
AbstractQueue<Integer>
AQ1 = new LinkedBlockingQueue<Integer>();
// Populating AQ1
AQ1.add(10);
AQ1.add(20);
AQ1.add(30);
AQ1.add(40);
AQ1.add(50);
// print AQ
System.out.println("AbstractQueue1 contains : " + AQ1);
AbstractQueue<Integer>
AQ2 = new LinkedBlockingQueue<Integer>();
// print AQ2 initially
System.out.println("AbstractQueue2 initially contains : " + AQ2);
// adds elements of AQ1 in AQ2
AQ2.addAll(AQ1);
System.out.println("AbstractQueue1 after addition contains : " + AQ2);
}
}
Output:
Program 2: Program for IllegalStateException
AbstractQueue1 contains : [10, 20, 30, 40, 50] AbstractQueue2 initially contains : [] AbstractQueue1 after addition contains : [10, 20, 30, 40, 50]
// Java program to illustrate the
// AbstractQueue addAll() method
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
// Creating object of AbstractQueue<Integer>
AbstractQueue<Integer>
AQ1 = new LinkedBlockingQueue<Integer>();
// Populating AQ1
AQ1.add(10);
AQ1.add(20);
AQ1.add(30);
AQ1.add(40);
AQ1.add(50);
// print AQ
System.out.println("AbstractQueue1 contains : " + AQ1);
AbstractQueue<Integer>
AQ2 = new LinkedBlockingQueue<Integer>(3);
// print AQ2 initially
System.out.println("AbstractQueue2 initially contains : " + AQ2);
// adds elements of AQ1 in AQ2
AQ2.addAll(AQ1);
System.out.println("AbstractQueue1 after addition contains : " + AQ2);
}
catch (Exception e) {
System.out.println("Exception: " + e);
}
}
}
Output:
Program 3: Program for NullPointerException
AbstractQueue1 contains : [10, 20, 30, 40, 50] AbstractQueue2 initially contains : [] Exception: java.lang.IllegalStateException: Queue full
// Java program to illustrate the
// AbstractQueue addAll() method
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
// Creating object of AbstractQueue<Integer>
AbstractQueue<Integer>
AQ1 = null;
// print AQ
System.out.println("AbstractQueue1 contains : " + AQ1);
AbstractQueue<Integer>
AQ2 = new LinkedBlockingQueue<Integer>(3);
// print AQ2 initially
System.out.println("AbstractQueue2 initially contains : " + AQ2);
// adds elements of AQ1 in AQ2
AQ2.addAll(AQ1);
System.out.println("AbstractQueue1 after addition contains : " + AQ2);
}
catch (Exception e) {
System.out.println("Exception: " + e);
}
}
}
Output:
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/AbstractQueue.html#addAll-E-AbstractQueue1 contains : null AbstractQueue2 initially contains : [] Exception: java.lang.NullPointerException