Java LinkedList set()-Methode

Java LinkedList Java LinkedList


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:

  1. Zugriff auf eine bestimmte Position in der verketteten Liste über den Index
  2. Ersetze das alte Element an dieser Position durch ein neues Element
  3. Gibt das alte Element zurück, das ersetzt wurde

Methodensyntax

set()Die vollständige Syntax der Methode ist wie folgt:

public E set(int index, E element)

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

import java.util.LinkedList;

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

// Dies löst eine Ausnahme aus, weil Index 4 nicht existiert (die verkettete Liste hat nur 4 Elemente, Indexbereich ist 0-3)
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 Position
  • add(): 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ück
  • get(): 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:

  1. Aktualisieren bestimmter Elemente in einer verketteten Liste
  2. Ersetzen von Verlaufseinträgen bei der Implementierung von Undo/Redo-Funktionalität
  3. Ändern von Zwischenschritt-Daten in Algorithmen
  4. 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 Java LinkedList

Andere Erweiterungen