Java LinkedList addAll()-Methode
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 ändertfalseWenn 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);
}
}
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);
}
}
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
- Behandlung leerer Sammlungen: Wenn die übergebene Sammlung null ist, wird eine Ausnahme ausgelöst.
NullPointerException - Index außerhalb der Grenzen: Wenn der angegebene Index außerhalb des Bereichs liegt (index < 0 || index > size()), wird eine Ausnahme ausgelöst.
IndexOutOfBoundsException - Leistungsüberlegungen: Das Einfügen einer großen Anzahl von Elementen in der Mitte einer LinkedList kann effizienter sein als bei ArrayList
- 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:
- Zusammenführen von Daten aus mehreren Sammlungen
- Stapelweises Initialisieren des Inhalts einer LinkedList
- Einfügen einer Gruppe von Elementen an einer bestimmten Position
- 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 |
Weitere Erweiterungen
Java LinkedList