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:

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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);
    }
}

chevron_right


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

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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);
        }
    }
}

chevron_right


Output:

AbstractQueue1 contains : [10, 20, 30, 40, 50]
AbstractQueue2 initially contains : []
Exception: java.lang.IllegalStateException: Queue full

Program 3: Program for NullPointerException

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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);
        }
    }
}

chevron_right


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-



My Personal Notes arrow_drop_up

The function of education is to teach one to think intensively and to think critically

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.