Java 中的連結串列陣列

Rashmi Patidar 2023年10月12日
  1. 在 Java 中使用傳統陣列演示連結串列陣列
  2. 使用 Java 中的建構函式演示連結串列陣列
Java 中的連結串列陣列

LinkedList 是按定義順序儲存元素的順序和線性資料結構。資料結構是 Collection 介面的一部分,存在於 java.util 包中。

連結串列也有元素儲存在 node 部分。每個節點都有一個 data 部分用於元素儲存,還有一個 pointer 用於儲存下一個節點的地址。列表中的元素不存在於連續的記憶體位置。

在 Java 中使用傳統陣列演示連結串列陣列

下面是使用迴圈建立連結串列陣列的程式碼塊。

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]);
    }
  }
}

在上面的塊中,new LinkedList[5] 語句建立了一個連結串列。new 關鍵字呼叫類連結串列的公共建構函式。值 5 顯示了陣列的大小,因此我們建立了一個包含 5 個連結串列的陣列。

在列表變數上,迴圈執行以在每個節點上例項化一個新的連結串列。因此,在整數值小於 5 的條件下應用 for 迴圈開始執行。在內部,它檢查節點中的值是否為的條件;否則,將例項化一個新的 Linked List 節點。

同樣,使用 for 迴圈來填充列表中的元素。add 方法用於將元素新增到列表的末尾。該方法來自 LinkedList 類並返回 boolean 值。如果 add 函式成功完成,它返回 true,否則返回 false

類似地,迭代繼續,每個節點的值都被連結串列填充。迴圈內部也會列印相同的內容,以檢查節點中存在的元素。

輸出:

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

使用 Java 中的建構函式演示連結串列陣列

下面是使用 Java 8 特性和函式建立連結串列陣列的程式碼塊。

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());
  }
}

在上面的程式碼塊中,main 方法儲存了程式碼執行的實際邏輯。

首先,使用 new 關鍵字建立一個連結串列。關鍵字呼叫 LinkedList 類的公共建構函式。字串值被插入到列表中。同樣,建立另外兩個列表。

最後,一個陣列列表被例項化。形成的列表變數被新增到陣列列表例項中。列表例項的迭代使用 forEach 函式進行。此外,新增了帶有方法引用運算子 ::print 語句以顯示陣列列表中存在的例項型別的名稱。

上面程式的輸出如下所示。

[l1_value1, l1_value2][l2_value1, l2_value2][l1_value1, l1_value2] Classname
    : class java.util.LinkedList
作者: Rashmi Patidar
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

相關文章 - Java Linked List

相關文章 - Java Array