Método addAll() de Java LinkedList

Java LinkedList Java LinkedList


addAll()El método es, en Java,LinkedListun método común proporcionado por la clase, utilizado para agregar todos los elementos de una colección a otra. Este método es muy útil en el procesamiento de operaciones de datos por lotes.


Sintaxis del método

LinkedListLa clase proporciona dosaddAll()formas sobrecargadas del método:

1. Agregar elementos al final de la lista

boolean addAll(Collection<? extends E> c)

2. Insertar elementos en una posición especificada

boolean addAll(int index, Collection<? extends E> c)

Descripción de parámetros

Parámetros de la primera forma

  • c: los elementos de la colección a agregar, donde el tipo de elemento debe ser compatible con el tipo de elemento de LinkedList

Parámetros de la segunda forma

  • index: el índice de la posición de inserción (comienza desde 0)
  • c: los elementos de la colección a agregar

Valor de retorno

Ambos métodos devuelvenbooleanun valor:

  • true: si el LinkedList cambió debido a la llamada
  • false: si la colección pasada está vacía o no se agregó ningún elemento

Ejemplo de uso

Ejemplo básico de uso

Ejemplo

import java.util.LinkedList;
import java.util.ArrayList;

public class AddAllExample {
    public static void main(String[] args) {
        // Crear dos colecciones
        LinkedList<String> linkedList = new LinkedList<>();
        ArrayList<String> arrayList = new ArrayList<>();
       
        // Agregar elementos al ArrayList
        arrayList.add("Apple");
        arrayList.add("Banana");
        arrayList.add("Orange");
       
        // Usar el método addAll() para agregar los elementos del ArrayList al LinkedList
        linkedList.addAll(arrayList);
       
        System.out.println("Contenido del LinkedList: " + linkedList);
    }
}

Resultado:

LinkedList 内容: [Apple, Banana, Orange]

Insertar elementos en una posición especificada

Ejemplo

import java.util.LinkedList;
import java.util.Arrays;

public class AddAllAtIndexExample {
    public static void main(String[] args) {
        LinkedList<String> fruits = new LinkedList<>(Arrays.asList("Apple", "Orange"));
        LinkedList<String> moreFruits = new LinkedList<>(Arrays.asList("Banana", "Grape"));
       
        // Insertar elementos en el índice 1
        fruits.addAll(1, moreFruits);
       
        System.out.println("LinkedList modificado: " + fruits);
    }
}

Resultado:

修改后的 LinkedList: [Apple, Banana, Grape, Orange]

Notas

  1. Manejo de colección vacía: si la colección pasada es nula (null), se lanzaráNullPointerException
  2. Índice fuera de rango: si el índice especificado está fuera de rango (index < 0 || index > size()), se lanzaráIndexOutOfBoundsException
  3. Consideración de rendimiento: insertar una gran cantidad de elementos en el medio de un LinkedList puede ser más eficiente que en un ArrayList
  4. Orden de los elementos: los elementos recién agregados mantienen su orden en la colección original

Escenarios de aplicación real

addAll()El método es especialmente útil en los siguientes escenarios:

  1. Combinar datos de múltiples colecciones
  2. Inicializar el contenido de un LinkedList por lotes
  3. Insertar un grupo de elementos en una posición específica
  4. Implementar la copia o clonación de colecciones

Comparación con addAll() de ArrayList

Característica LinkedList addAll() ArrayList addAll()
Rendimiento al agregar al final O(1) Tiempo amortizado O(1)
Rendimiento al insertar en el medio O(n) O(n)
Uso de memoria Mayor (cada elemento tiene punteros adicionales) Menor

Java LinkedList Java LinkedList

Otras extensiones