Open In App

AbstractQueue addAll() method in Java with examples

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-



Last Updated : 26 Nov, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads