如何在 Java 中把一個陣列轉換為一個列表

Hassan Saeed 2023年1月30日 2020年9月26日
  1. 建立一個空列表並新增所有元素
  2. 在 Java 中使用 Arrays.asList() 把一個陣列轉換為一個列表
  3. 在 Java 中使用 new ArrayList<>(Arrays.asList(arr)) 把一個陣列轉換為一個列表
如何在 Java 中把一個陣列轉換為一個列表

本教程討論了在 Java 中把陣列轉換為列表的三種方法。

建立一個空列表並新增所有元素

這是一種非常簡單且顯而易見的方法。我們可以建立一個空列表,遍歷陣列中的所有元素,然後將它們新增到列表中。

下面的例子就說明了這一點。

import java.util.stream.*;  
import java.util.*;

public class MyClass {
    public static void main(String args[]) {
        String[] myArray = new String[] { "1", "2", "3" };
        List<String> myList = new ArrayList<>();
        for (int i=0; i<myArray.length; i++){
            myList.add(myArray[i]);
        }
        System.out.println(myList);
    }
}

輸出:

> [1, 2, 3]

在 Java 中使用 Arrays.asList() 把一個陣列轉換為一個列表

我們可以使用 Arrays 類提供的內建方法將一個陣列轉換為一個列表-Arrays.asList(arr)。確保在你的程式碼中匯入 java.util.*

下面的例子說明了這一點。

import java.util.*;

public class MyClass {
    public static void main(String args[]) {
        String[] myArray = new String[] { "1", "2", "3" };
        List<String> myList = Arrays.asList(myArray);
        System.out.println(myList);
    }
}

輸出:

> [1, 2, 3]

然而,這個方法的結果是一個固定大小的列表,我們不能向其新增更多元素。

import java.util.*;

public class MyClass {
    public static void main(String args[]) {
        String[] myArray = new String[] { "1", "2", "3" };
        List<String> myList = Arrays.asList(myArray);
        myList.add("4");
    }
}

這將導致

> Exception in thread "main" java.lang.UnsupportedOperationException
	at java.base/java.util.AbstractList.add(AbstractList.java:153)
	at java.base/java.util.AbstractList.add(AbstractList.java:111)
	at MyClass.main(MyClass.java:6)

在 Java 中使用 new ArrayList<>(Arrays.asList(arr)) 把一個陣列轉換為一個列表

這個方法,new ArrayList<>(Arrays.asList(integers)); 允許你將一個陣列轉換為一個列表,並新增你也可以新增額外的元素到結果列表中。下面的例子說明了這一點。

import java.util.*;

public class MyClass {
    public static void main(String args[]) {
        String[] myArray = new String[] { "1", "2", "3" };
        List<String> myList = new ArrayList<>(Arrays.asList(myArray));
        System.out.println("After conversion from array to list: " + myList);
        myList.add("4");
        System.out.println("After adding a new element: " + myList );
    }
}

輸出:

> After conversion from array to list: [1, 2, 3]
> After adding a new element: [1, 2, 3, 4]

相關文章 - Java Array

相關文章 - Java List