Array von verknüpften Listen in Java

Rashmi Patidar 12 Oktober 2023
  1. Demonstrieren Sie das Linked List-Array mit einem traditionellen Array in Java
  2. Demonstrieren Sie das Linked List-Array mit dem Konstruktor in Java
Array von verknüpften Listen in Java

Eine LinkedList ist die sequentielle und lineare Datenstruktur, die Elemente in einer definierten Reihenfolge speichert. Die Datenstruktur ist Teil der Schnittstelle Collection und liegt im Paket java.util vor.

Die verknüpfte Liste enthält auch Elemente, die im Teil Knoten gespeichert sind. Jeder Knoten hat einen data-Teil für die Elementspeicherung und den Zeiger, um die Adresse des nächsten Knotens zu behalten. Die Elemente in der Liste sind nicht in zusammenhängenden Speicherplätzen vorhanden.

Demonstrieren Sie das Linked List-Array mit einem traditionellen Array in Java

Unten ist der Codeblock, der mithilfe von Schleifen ein Array von verknüpften Listen erstellt.

import java.util.LinkedList;

public class Main {
  public static void main(String[] args) {
    LinkedList[] list = new LinkedList[5];
    for (int i = 0; i < 5; i++) {
      if (list[i] == null) {
        list[i] = new LinkedList();
        int temp = i;
        for (int j = 0; j < temp + 1; j++) {
          list[i].add(j);
        }
      }
      System.out.print(list[i]);
    }
  }
}

Im obigen Block erstellt die Anweisung new LinkedList[5] eine verknüpfte Liste. Das Schlüsselwort new ruft den öffentlichen Konstruktor der verknüpften Klassenliste auf. Der Wert 5 demonstriert die Größe des Arrays, also erstellen wir ein Array von 5 verknüpften Listen.

Über die Listenvariable läuft die Schleife, um eine neue verknüpfte Liste über jeden Knoten zu instanziieren. So wird eine for-Schleife mit einer Bedingung mit einem ganzzahligen Wert kleiner als 5 ausgeführt. Intern prüft es die Bedingung, ob der Wert im Knoten null ist; andernfalls wird ein neuer Linked List-Knoten instanziiert.

Auch hier wird eine for-Schleife verwendet, um die Elemente in der Liste zu füllen. Mit der Methode add werden die Elemente am Ende der Liste angehängt. Die Methode stammt aus der Klasse LinkedList und gibt den booleschen Wert zurück. Es gibt true zurück, wenn die Funktion add erfolgreich ausgeführt wurde, andernfalls false.

In ähnlicher Weise wird die Iteration fortgesetzt und der Wert jedes Knotens wird mit der verknüpften Liste gefüllt. Dasselbe wird auch innerhalb der Schleife gedruckt, um die in den Knoten vorhandenen Elemente zu überprüfen.

Ausgabe:

[0][0, 1][0, 1, 2][0, 1, 2, 3][0, 1, 2, 3, 4]

Demonstrieren Sie das Linked List-Array mit dem Konstruktor in Java

Unten ist der Codeblock, der Java 8-Features und -Funktionen verwendet, um ein Array von verknüpften Listen zu erstellen.

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

public class main {
  public static void main(String[] args) {
    LinkedList list1 = new LinkedList<String>();
    list1.add("l1_value1");
    list1.add("l1_value2");

    LinkedList list2 = new LinkedList();
    list2.add("l2_value1");
    list2.add("l2_value2");

    LinkedList list3 = new LinkedList();
    list3.add("l3_value1");
    list3.add("l3_value2");

    ArrayList<LinkedList> arrayList = new ArrayList<LinkedList>();
    arrayList.add(list1);
    arrayList.add(list2);
    arrayList.add(list1);
    arrayList.forEach(System.out::println);
    System.out.println("Classname: " + arrayList.get(0).getClass());
  }
}

Im obigen Codeblock enthält die Methode main die eigentliche Logik für die Codeausführung.

Zunächst wird eine verkettete Liste mit dem Stichwort new erstellt. Das Schlüsselwort ruft den öffentlichen Konstruktor der Klasse LinkedList auf. Die Stringwerte werden in die Liste eingefügt. Ebenso werden zwei weitere Listen erstellt.

Schließlich wird eine Array-Liste instanziiert. Die gebildeten Listenvariablen werden in der Array-Listeninstanz hinzugefügt. Die Iteration der Listeninstanz erfolgt mit der Funktion forEach. Zusätzlich wird eine print-Anweisung mit dem Methodenreferenzoperator :: hinzugefügt, um den Namen des in der Array-Liste vorhandenen Instanztyps anzuzeigen.

Die Ausgabe des obigen Programms wird unten gezeigt.

[l1_value1, l1_value2][l2_value1, l2_value2][l1_value1, l1_value2] Classname
    : class java.util.LinkedList
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

Verwandter Artikel - Java Linked List

Verwandter Artikel - Java Array