Java LinkedList addAll()-Methode

Java LinkedList Java LinkedList


addAll()In Java ist die Methode eineLinkedListgängige, von der Klasse bereitgestellte Methode, mit der alle Elemente aus einer Sammlung zu einer anderen hinzugefügt werden.


Methodensyntax

LinkedListDie Klasse bietet zweiaddAll()überladene Formen der Methode:

1. Elemente am Ende der Liste hinzufügen

boolean addAll(Collection<? extends E> c)

2. Elemente an einer angegebenen Position einfügen

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

Parameterbeschreibung

Parameter der ersten Form

  • c: Die hinzuzufügenden Sammlungselemente, wobei der Elementtyp mit dem Elementtyp von LinkedList kompatibel sein muss

Parameter der zweiten Form

  • index: Der Index der Einfügeposition (beginnend bei 0)
  • c: Die Elemente der Sammlung, die hinzugefügt werden sollen

Rückgabewert

Beide Methoden geben einenbooleanvalue:

  • trueWenn sich die LinkedList aufgrund des Aufrufs ändert
  • falseWenn die übergebene Sammlung leer ist oder keine Elemente hinzugefügt wurden

Anwendungsbeispiel

Grundlegendes Anwendungsbeispiel

Beispiel

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

public class AddAllExample {
    public static void main(String[] args) {
        // Zwei Sammlungen erstellen
        LinkedList<String> linkedList = new LinkedList<>();
        ArrayList<String> arrayList = new ArrayList<>();
       
        // Elemente zur ArrayList hinzufügen
        arrayList.add("Apple");
        arrayList.add("Banana");
        arrayList.add("Orange");
       
        // Verwenden Sie die Methode addAll(), um die ArrayList-Elemente zur LinkedList hinzuzufügen
        linkedList.addAll(arrayList);
       
        System.out.println("Inhalt der LinkedList: " + linkedList);
    }
}

Ausgabeergebnis:

LinkedList 内容: [Apple, Banana, Orange]

Elemente an einer angegebenen Position einfügen

Beispiel

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"));
       
        // Elemente an Index 1 einfügen
        fruits.addAll(1, moreFruits);
       
        System.out.println("Modified LinkedList: " + fruits);
    }
}

Ausgabeergebnis:

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

Hinweise

  1. Behandlung leerer Sammlungen: Wenn die übergebene Sammlung null ist, wird eine Ausnahme ausgelöst.NullPointerException
  2. Index außerhalb der Grenzen: Wenn der angegebene Index außerhalb des Bereichs liegt (index < 0 || index > size()), wird eine Ausnahme ausgelöst.IndexOutOfBoundsException
  3. Leistungsüberlegungen: Das Einfügen einer großen Anzahl von Elementen in der Mitte einer LinkedList kann effizienter sein als bei ArrayList
  4. Elementreihenfolge: Die neu hinzugefügten Elemente behalten ihre Reihenfolge in der ursprünglichen Sammlung bei

Praktische Anwendungsszenarien

addAll()Die Methode ist besonders nützlich in den folgenden Szenarien:

  1. Zusammenführen von Daten aus mehreren Sammlungen
  2. Stapelweises Initialisieren des Inhalts einer LinkedList
  3. Einfügen einer Gruppe von Elementen an einer bestimmten Position
  4. Implementieren der Kopier- oder Klonfunktionalität für Sammlungen

Vergleich mit addAll() von ArrayList

Merkmal LinkedList addAll() ArrayList addAll()
Performance beim Hinzufügen am Ende O(1) O(1) amortisierte Zeit
Performance beim Einfügen in der Mitte O(n) O(n)
Speicherverbrauch Höher (jedes Element hat zusätzliche Zeiger) Niedriger

Java LinkedList Java LinkedList

Weitere Erweiterungen