Méthode addAll() de LinkedList en Java

Java LinkedList Java LinkedList


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'appel
  • falseSi 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);
    }
}

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);
    }
}

Résultat de sortie :

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

Notes

  1. Gestion des collections vides: Si la collection transmise est null, une exception sera levée.NullPointerException
  2. Indice hors limites: Si l’index spécifié est hors plage (index < 0 || index > size()), une exception sera levée.IndexOutOfBoundsException
  3. 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
  4. 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 :

  1. Fusion de données issues de plusieurs collections
  2. Initialisation par lots du contenu d’une LinkedList
  3. Insertion d’un groupe d’éléments à une position spécifique
  4. 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

Java LinkedList Java LinkedList

Autres extensions