Java 中的列表與陣列

Rupam Yadav 2023年10月12日
  1. Java 中實現語法的差異
  2. 在 Java 中 ArrayList 可以動態增長,而陣列是靜態的
  3. 在 Java 中 ArrayList 有很多方法來執行操作,而陣列沒有
Java 中的列表與陣列

本文將展示 Java 中陣列和列表之間的區別。陣列和列表都是 Java 中廣泛使用的資料結構;因此,我們需要了解何時使用它們。

ArrayList 是最常用的列表之一,因此,在接下來的部分中,我們將指出陣列和 ArrayLists 之間的區別。

Java 中實現語法的差異

在定義和初始化時,陣列和 ArrayList 之間存在差異。

下面給出了宣告和初始化陣列的語法。

我們首先寫出要儲存在陣列中的元素的資料型別,然後使用括號 [] 和陣列名稱。我們使用 new 關鍵字初始化陣列,後跟資料型別名稱及其括號中的大小。

type[] arrayName = new type[size];

以下是宣告和初始化 ArrayList 的語法。

我們使用 new 關鍵字建立 ArrayList 物件,並傳遞要插入的資料型別,該型別返回 ListListArrayList 使用的介面。

 List<Type> listName = new ArrayList<Type>();

兩種語法的最大區別在於陣列使用原始資料型別,而 ArrayLists 使用通用資料型別。

在 Java 中 ArrayList 可以動態增長,而陣列是靜態的

當我們宣告一個陣列時,我們需要指定以後不能更改的大小,這意味著陣列是靜態的,並且具有固定的大小。在下面的示例中,我們建立一個 int 型別的陣列並將大小指定為 4。

如果我們在陣列中插入 4 個專案,它將執行,但新增另一個專案(總共 5 個專案)將在輸出中引發錯誤。

public class ExampleClass1 {
  public static void main(String[] args) {
    int[] intArray = new int[4];

    intArray[0] = 1;
    intArray[1] = 2;
    intArray[2] = 3;
    intArray[3] = 4;

    intArray[4] = 5;

    for (int i : intArray) {
      System.out.println(i);
    }
  }
}

輸出:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4
    at com.tutorial.ExampleClass1.main(ExampleClass1.java:13)

與陣列不同,ArrayList 可以動態增長而無需擔心大小。它的大小隨著其中元素的數量而增加和減少。

下面的程式包含一個 Integer 型別的 ArrayList,我們在其中新增了一些專案。輸出顯示從列表中列印的所有元素。

import java.util.ArrayList;
import java.util.List;

public class ExampleClass2 {
  public static void main(String[] args) {
    List<Integer> integerList = new ArrayList<>();

    integerList.add(1);
    integerList.add(2);
    integerList.add(3);
    integerList.add(4);

    for (Integer integer : integerList) {
      System.out.println(integer);
    }
  }
}

輸出:

1
2
3
4

在 Java 中 ArrayList 有很多方法來執行操作,而陣列沒有

我們可以在陣列中新增元素,但執行其他操作(如刪除)存在限制。另一方面,我們可以使用 ArrayList 執行多項操作,例如刪除、排序等。

在示例中,我們建立了一個 ArrayList 並新增了一些元素。然後我們刪除第三個索引上的元素,值 4。

輸出顯示刪除後的元素。我們需要使用其他類在陣列中執行此操作,這使得它變得複雜。

public class ExampleClass2 {
  public static void main(String[] args) {
    List<Integer> integerList = new ArrayList<>();

    integerList.add(1);
    integerList.add(2);
    integerList.add(3);
    integerList.add(4);

    integerList.remove(3);

    for (Integer integer : integerList) {
      System.out.println(integer);
    }
  }
}

輸出:

1
2
3
作者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

相關文章 - Java List

相關文章 - Java Array