El método addAll(E e) de AbstractQueue agrega todos los elementos de la colección especificada a esta cola.
Sintaxis:
public boolean addAll(Collection c)
Parámetros: este método acepta una colección de parámetros obligatoria que contiene elementos que se agregarán a esta cola
Devoluciones: el método devuelve verdadero si esta cola cambió como resultado de la llamada
Excepción: este método arroja las siguientes excepciones:
- IllegalStateException : si no se pueden agregar todos los elementos en este momento debido a las restricciones de inserción
- NullPointerException : si la colección especificada contiene un elemento nulo y esta cola no permite elementos nulos, o si la colección especificada es nula
- ClassCastException : si la clase de un elemento de la colección especificada impide que se agregue a esta cola
- IllegalArgumentException : si alguna propiedad de un elemento de la colección especificada impide que se agregue a esta cola, o si la colección especificada es esta cola
Los siguientes programas ilustran el método addAll():
Programa 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); } }
Producción:
AbstractQueue1 contains : [10, 20, 30, 40, 50] AbstractQueue2 initially contains : [] AbstractQueue1 after addition contains : [10, 20, 30, 40, 50]
Programa 2: Programa para 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); } } }
Producción:
AbstractQueue1 contains : [10, 20, 30, 40, 50] AbstractQueue2 initially contains : [] Exception: java.lang.IllegalStateException: Queue full
Programa 3: Programa para 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); } } }
Producción:
AbstractQueue1 contains : null AbstractQueue2 initially contains : [] Exception: java.lang.NullPointerException
Referencia: https://docs.oracle.com/javase/8/docs/api/java/util/AbstractQueue.html#addAll-E-