AbstractQueue addAll() method in Java with examples
The addAll(E e) method of AbstractQueue adds all of the elements in the specified collection to this queue.
Syntax:
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
Below programs illustrate addAll() method:
Program 1:
// 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:
AbstractQueue1 contains : [10, 20, 30, 40, 50] AbstractQueue2 initially contains : [] AbstractQueue1 after addition contains : [10, 20, 30, 40, 50]
Program 2: Program for IllegalStateException
// 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:
AbstractQueue1 contains : [10, 20, 30, 40, 50] AbstractQueue2 initially contains : [] Exception: java.lang.IllegalStateException: Queue full
Program 3: Program for NullPointerException
// 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:
AbstractQueue1 contains : null AbstractQueue2 initially contains : [] Exception: java.lang.NullPointerException
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/AbstractQueue.html#addAll-E-
Please Login to comment...