Open In App

AbstractQueue addAll() method in Java with examples

Last Updated : 26 Nov, 2018
Improve
Improve
Like Article
Like
Save
Share
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 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-



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads