Java LinkedList set()-Methode
LinkedListist eine wichtige Klasse im Java Collections Framework, sie implementiertListSchnittstelle.set()Methode istLinkedListeine sehr nützliche Methode, die von der Klasse bereitgestellt wird und dazu dient, das Element an der angegebenen Position in der verketteten Liste zu ersetzen.
Einfach ausgedrückt,set()Methode ermöglicht es Ihnen:
- Zugriff auf eine bestimmte Position in der verketteten Liste über den Index
- Ersetze das alte Element an dieser Position durch ein neues Element
- Gibt das alte Element zurück, das ersetzt wurde
Methodensyntax
set()Die vollständige Syntax der Methode ist wie folgt:
Parameterbeschreibung:
index: Die Position des Elements, das ersetzt werden soll (Zählung ab 0)element: Das neue Element, das an der angegebenen Position gespeichert werden soll
Rückgabewert:
- Gibt das alte Element zurück, das ersetzt wurde
Anwendungsbeispiel
Lassen Sie uns dies anhand eines vollständigen Codebeispiels verstehenset()die Verwendung der Methode:
Beispiel
public class LinkedListSetExample {
public static void main(String[] args) {
// Erstelle eine LinkedList
LinkedList<String> fruits = new LinkedList<>();
// Elemente hinzufügen
fruits.add("Apfel");
fruits.add("Banane");
fruits.add("Cherry");
fruits.add("Date");
System.out.println("Ursprüngliche LinkedList: " + fruits);
// Verwende die set()-Methode, um das zweite Element zu ersetzen
String replaced = fruits.set(1, "Blueberry");
System.out.println("Ersetztes Element: " + replaced);
System.out.println("Modified LinkedList: " + fruits);
}
}
Ausgabe:
原始链表: [Apple, Banana, Cherry, Date] 被替换的元素: Banana 修改后的链表: [Apple, Blueberry, Cherry, Date]
Hinweise
Index-Out-of-Bounds-Ausnahme
Wenn der angegebene Index außerhalb des Bereichs der verketteten Liste liegt (index < 0 oder index >= size()),set()wird die Methode eine Ausnahme werfenIndexOutOfBoundsException。
Beispiel
fruits.set(4, "Fig");
Leistungsüberlegungen
DaLinkedListist auf Basis einer verketteten Liste implementiert,set()muss die Methode die verkettete Liste durchlaufen, um das Element an der angegebenen Position zu finden, daher:
- Die durchschnittliche Zeitkomplexität ist O(n)
- Für Szenarien, die häufigen wahlfreien Zugriff erfordern,
ArrayListkann eine bessere Wahl sein
Nullwerte nicht erlaubt
WennLinkedListErlaubt keine null-Elemente (abhängig von der konkreten Implementierung); der Versuch, einen null-Wert zu setzen, kann eine Ausnahme auslösenNullPointerException。
Vergleich mit anderen Methoden
set() vs. add()
set(): Ersetzt das Element an der angegebenen Positionadd(): Fügt an der angegebenen Position ein neues Element ein und verschiebt das ursprüngliche Element nach hinten
set() vs. get()
set(): Ändert das Element an der angegebenen Position und gibt den alten Wert zurückget(): Ruft nur das Element an der angegebenen Position ab, ohne die verkettete Liste zu ändern
Praktische Anwendungsszenarien
set()Die Methode ist besonders nützlich in den folgenden Szenarien:
- Aktualisieren bestimmter Elemente in einer verketteten Liste
- Ersetzen von Verlaufseinträgen bei der Implementierung von Undo/Redo-Funktionalität
- Ändern von Zwischenschritt-Daten in Algorithmen
- Aktualisieren von Objektzuständen in der Spieleentwicklung
Zusammenfassung
LinkedListvonset()Die Methode ist ein einfaches, aber leistungsstarkes Werkzeug, mit dem Entwickler bestimmte Elemente in einer verketteten Liste präzise ändern können. Wenn Sie verstehen, wie diese Methode funktioniert und welche Einschränkungen sie hat, können Sie sie in der praktischen Programmierung effektiver einsetzen.LinkedListSammlungen.
Java LinkedList