如何在 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