Método addAll() de 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 llamadafalse: 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);
}
}
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);
}
}
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
- Manejo de colección vacía: si la colección pasada es nula (null), se lanzará
NullPointerException - Índice fuera de rango: si el índice especificado está fuera de rango (index < 0 || index > size()), se lanzará
IndexOutOfBoundsException - 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
- 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:
- Combinar datos de múltiples colecciones
- Inicializar el contenido de un LinkedList por lotes
- Insertar un grupo de elementos en una posición específica
- 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 |
Otras extensiones
Java LinkedList