Open In App

AbstractQueue addAll() method in Java with examples

Last Updated : 26 Nov, 2018
Comments
Improve
Suggest changes
Like Article
Like
Report
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
// 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
// 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
// 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-

Next Article

Similar Reads