Método AbstractList addAll() en Java con ejemplos

El método addAll() de la clase java.util.AbstractList se utiliza para insertar todos los elementos de la colección especificada en esta lista en la posición especificada.

  • Esto desplaza el elemento actualmente en esa posición (si lo hay) y cualquier elemento subsiguiente a la derecha (aumenta sus índices).
  • Los nuevos elementos aparecerán en esta lista en el orden en que los devuelva el iterador de la colección especificada.
  • El comportamiento de esta operación no está definido si la colección especificada se modifica mientras la operación está en curso.

Esta implementación obtiene un iterador sobre la colección especificada e itera sobre ella, insertando los elementos obtenidos del iterador en esta lista en la posición apropiada, uno a la vez, usando add(int, E). Muchas implementaciones anularán este método por eficiencia.

Sintaxis:

public boolean addAll(int index, Collection c)

Parámetros: este método toma el siguiente argumento como parámetro.

  • índice: el índice en el que insertar el primer elemento de la colección especificada
  • c- la colección que contiene los elementos que se agregarán a esta lista
  • Valor devuelto: este método devuelve verdadero si esta lista cambió como resultado de la llamada.

  • Excepción: este método arroja la siguiente excepción.
    • NullPointerException: si la colección especificada contiene uno o más elementos nulos y esta lista no permite elementos nulos, o si la colección especificada es nula
    • IndexOutOfBoundsException: si el índice está fuera de rango (tamaño del índice()).

A continuación se muestran los ejemplos para ilustrar el método addAll() .

Ejemplo 1:

// Java program to demonstrate
// addAll() method
// for String value
  
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv)
        throws Exception
    {
  
        try {
  
            // Creating object of AbstractList<String>
            AbstractList<String>
                arrlist1 = new ArrayList<String>();
  
            // Populating arrlist1
            arrlist1.add("A");
            arrlist1.add("B");
            arrlist1.add("C");
            arrlist1.add("D");
            arrlist1.add("E");
  
            // print arrlist1
            System.out.println("Original ArrayListlist : "
                               + arrlist1);
  
            // Creating another object of AbstractList<String>
            AbstractList<String>
                arrlist2 = new ArrayList<String>();
  
            // Populating arrlist2
            arrlist2.add("X");
            arrlist2.add("Y");
            arrlist2.add("Z");
  
            // print arrlist2
            System.out.println("ArrayList elements "
                               + "to be added : "
                               + arrlist2);
  
            // adding the specified element
            // starting from index 2
            // using addAll() method
            boolean value = arrlist1.addAll(2, arrlist2);
  
            // print the value
            System.out.println("Operation successful : "
                               + value);
  
            // print the new arrlist
            System.out.println("New ArrayList : "
                               + arrlist1);
        }
  
        catch (NullPointerException e) {
            System.out.println("Exception thrown : " + e);
        }
  
        catch (IndexOutOfBoundsException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}
Producción:

Original ArrayListlist : [A, B, C, D, E]
ArrayList elements to be added : [X, Y, Z]
Operation successful : true
New ArrayList : [A, B, X, Y, Z, C, D, E]

Ejemplo 2: para NullPointerException

// Java program to demonstrate
// addAll() method
// for NullPointerException
  
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv) throws Exception
    {
        try {
  
            // Creating object of AbstractList<String>
            AbstractList<String>
                arrlist1 = new ArrayList<String>();
  
            // Populating arrlist1
            arrlist1.add("A");
            arrlist1.add("B");
            arrlist1.add("C");
            arrlist1.add("D");
            arrlist1.add("E");
  
            // print arrlist1
            System.out.println("Original ArrayListlist : "
                               + arrlist1);
  
            // Creating another object of AbstractList<String>
            AbstractList<String> arrlist2 = null;
  
            // printing the arrlist2
            System.out.println("ArrayList to be added : "
                               + arrlist2);
  
            // adding the specified element
            // starting from index 2
            // using addAll() method
            System.out.println("\nTrying to get"
                               + " the null collection");
            boolean value = arrlist1.addAll(2, arrlist2);
  
            // print the value
            System.out.println("operation successful : "
                               + value);
  
            // print the new arrlist
            System.out.println("New ArrayList : "
                               + arrlist1);
        }
  
        catch (NullPointerException e) {
            System.out.println("Exception thrown : " + e);
        }
  
        catch (IndexOutOfBoundsException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}
Producción:

Original ArrayListlist : [A, B, C, D, E]
ArrayList to be added : null

Trying to get the null collection
Exception thrown : java.lang.NullPointerException

Ejemplo 3: para IndexOutOfBoundsException

// Java program to demonstrate
// addAll() method
// for IndexOutOfBoundsException
  
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv)
        throws Exception
    {
  
        try {
  
            // Creating object of AbstractList<String>
            AbstractList<String>
                arrlist1 = new ArrayList<String>();
  
            // Populating arrlist1
            arrlist1.add("A");
            arrlist1.add("B");
            arrlist1.add("C");
            arrlist1.add("D");
            arrlist1.add("E");
  
            // print arrlist1
            System.out.println("Original ArrayListlist : "
                               + arrlist1);
  
            // Creating another object of AbstractList<String>
            AbstractList<String>
                arrlist2 = new ArrayList<String>();
  
            // Populating arrlist2
            arrlist2.add("X");
            arrlist2.add("Y");
            arrlist2.add("Z");
  
            // print arrlist2
            System.out.println("ArrayList elements to be added : "
                               + arrlist2);
  
            // adding the specified element
            // starting from index 2
            // using addAll() method
            System.out.println("\nTrying to put the out"
                               + " of range index ");
            boolean value = arrlist1.addAll(-1, arrlist2);
  
            // print the value
            System.out.println("operation succecfull : "
                               + value);
  
            // print the new arrlist
            System.out.println("New ArrayList : " + arrlist1);
        }
  
        catch (NullPointerException e) {
            System.out.println("Exception thrown : " + e);
        }
  
        catch (IndexOutOfBoundsException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}
Producción:

Original ArrayListlist : [A, B, C, D, E]
ArrayList elements to be added : [X, Y, Z]

Trying to put the out of range index 
Exception thrown : java.lang.IndexOutOfBoundsException: Index: -1, Size: 5

Publicación traducida automáticamente

Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *