Méthode addAll() de LinkedList en Java
addAll()En Java, la méthode est uneLinkedListméthode courante fournie par la classe, utilisée pour ajouter tous les éléments d'une collection à une autre.
Syntaxe de la méthode
LinkedListLa classe fournit deuxaddAll()formes surchargées de la méthode :
1. Ajouter des éléments à la fin de la liste
boolean addAll(Collection<? extends E> c)
2. Insérer des éléments à une position spécifiée
boolean addAll(int index, Collection<? extends E> c)
Description du paramètre
Paramètres de la première forme
c: Les éléments de la collection à ajouter, où le type d'élément doit être compatible avec le type d'élément de LinkedList
Paramètres de la seconde forme
index: L'indice de la position d'insertion (à partir de 0)c: Les éléments de la collection à ajouter
Valeur de retour
Les deux méthodes renvoient unebooleanvalue:
trueSi la LinkedList change à la suite de l'appelfalseSi la collection passée est vide ou si aucun élément n'a été ajouté
Exemple d'utilisation
Exemple d'utilisation de base
Exemple
import java.util.LinkedList;
import java.util.ArrayList;
public class AddAllExample {
public static void main(String[] args) {
// Créer deux collections
LinkedList<String> linkedList = new LinkedList<>();
ArrayList<String> arrayList = new ArrayList<>();
// Ajouter des éléments à l'ArrayList
arrayList.add("Apple");
arrayList.add("Banana");
arrayList.add("Orange");
// Utilisez la méthode addAll() pour ajouter les éléments de ArrayList à la LinkedList
linkedList.addAll(arrayList);
System.out.println("Contenu de LinkedList : " + linkedList);
}
}
import java.util.ArrayList;
public class AddAllExample {
public static void main(String[] args) {
// Créer deux collections
LinkedList<String> linkedList = new LinkedList<>();
ArrayList<String> arrayList = new ArrayList<>();
// Ajouter des éléments à l'ArrayList
arrayList.add("Apple");
arrayList.add("Banana");
arrayList.add("Orange");
// Utilisez la méthode addAll() pour ajouter les éléments de ArrayList à la LinkedList
linkedList.addAll(arrayList);
System.out.println("Contenu de LinkedList : " + linkedList);
}
}
Résultat de sortie :
LinkedList 内容: [Apple, Banana, Orange]
Insérer des éléments à une position spécifiée
Exemple
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"));
// Insérer des éléments à l'index 1
fruits.addAll(1, moreFruits);
System.out.println("LinkedList modifiée : " + 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"));
// Insérer des éléments à l'index 1
fruits.addAll(1, moreFruits);
System.out.println("LinkedList modifiée : " + fruits);
}
}
Résultat de sortie :
修改后的 LinkedList: [Apple, Banana, Grape, Orange]
Notes
- Gestion des collections vides: Si la collection transmise est null, une exception sera levée.
NullPointerException - Indice hors limites: Si l’index spécifié est hors plage (index < 0 || index > size()), une exception sera levée.
IndexOutOfBoundsException - Considérations de performance: L’insertion d’un grand nombre d’éléments au milieu d’une LinkedList peut être plus efficace qu’avec ArrayList
- Ordre des éléments: Les éléments nouvellement ajoutés conserveront leur ordre dans la collection d’origine
Scénarios d'application pratiques
addAll()La méthode est particulièrement utile dans les scénarios suivants :
- Fusion de données issues de plusieurs collections
- Initialisation par lots du contenu d’une LinkedList
- Insertion d’un groupe d’éléments à une position spécifique
- Implémentation de la copie ou du clonage d’une collection
Comparaison avec addAll() d’ArrayList
| Fonctionnalité | LinkedList addAll() | ArrayList addAll() |
|---|---|---|
| Performance de l'ajout à la fin | O(1) | Temps amorti O(1) |
| Performance de l'insertion au milieu | O(n) | O(n) |
| Utilisation de la mémoire | Plus élevé (chaque élément a des pointeurs supplémentaires) | Inférieur |
Autres extensions
Java LinkedList