Doppelt verknüpfte Liste in Java

Hiten Kanwar 12 Oktober 2023
Doppelt verknüpfte Liste in Java

In einer verknüpften Liste fungiert jedes Element als separates Objekt mit einem Datenteil und einem Adressteil. Es verwendet keinen ansteckenden Speicherort, um Daten zu speichern. Eine doppelt verknüpfte Liste speichert die Adresse des vorherigen Knotens sowie des nächsten Knotens. Mit zwei Adressknoten kann eine doppelt verkettete Liste in beide Richtungen durchlaufen.

In diesem Tutorial werden verknüpfte Listen in Java behandelt.

In Java ist die Linked List-Klasse ein Teil des Collections-Frameworks von Java, das die Funktionalität der Linked List-Datenstruktur bereitstellt, die als Double Linked List fungiert.

Jedes Element fungiert hier als Knoten, der aus 3 Werten besteht, nämlich Prev, Next und Data an einer einzigen Position. Prev speichert die Adresse zum vorherigen Element, Next speichert die Adresse zum nächsten Element und Data speichert die aktuellen Daten des Knotens.

Beispielsweise,

import java.util.*;
public class ABC {
  public static void main(String[] args) {
    LinkedList<String> fruits = new LinkedList<>();
    fruits.add("apple");
    fruits.add("orange");
    fruits.add("mango");
    System.out.println("LinkedList: " + fruits);
  }
}

Ausgabe:

LinkedList: [apple, orange, mango]

Im obigen Beispiel haben wir erfolgreich eine verknüpfte Liste über das Collections-Framework von Java erstellt.

Hier hat der erste Knoten Daten als apple, der auch den Nullwert als seinen vorherigen und die orangefarbene Adresse als seinen folgenden enthält. In ähnlicher Weise hat das zweite Element mit den Daten ‘orange’ die Adresse von Apple als vorherige und die Adresse von Mango als nächstes.

Immer wenn ein neues Element hinzugefügt wird, werden die Adressen Prev und Next intern automatisch aktualisiert.

Die Methode get() wird verwendet, um auf die Elemente aus der Linked List zuzugreifen, die vom Anfang bis zum Element iteriert. Wir haben auch die Methode listIterator(), um auf die Komponenten zuzugreifen. Die Funktionen next() und previous() können beim Durchlaufen der Liste in beide Richtungen helfen.

Außerdem können wir die Methode set() verwenden, um die Elemente der verknüpften Liste zu ändern. Die Funktion remove() kann ein Element löschen.

Einige dieser Funktionen verwenden wir im folgenden Beispiel.

import java.util.*;
public class ABC {
  public static void main(String[] args) {
    LinkedList<String> fruits = new LinkedList<>();
    fruits.add("apple");
    fruits.add("orange");
    fruits.add("mango");
    String str = fruits.listIterator(1).previous();
    System.out.println("i like " + str);
  }
}

Ausgabe:

i like apple

Im obigen Beispiel haben wir mit der Funktion previous() auf den Wert vor dem Element an Index 1 zugegriffen.

Wir können unsere Klasse auch mit Daten- und Zeigervariablen erstellen, um eine doppelt verknüpfte Liste in Java zu simulieren.

Verwandter Artikel - Java Linked List