如何在 Java 中把一个数组转换为一个列表
Hassan Saeed
2023年1月30日
2020年9月26日
- 创建一个空列表并添加所有元素
-
在 Java 中使用
Arrays.asList()
把一个数组转换为一个列表 -
在 Java 中使用
new ArrayList<>(Arrays.asList(arr))
把一个数组转换为一个列表
本教程讨论了在 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 中连接两个数组
- 如何在 Java 中以十六进制字符串转换字节数组
- 用 Java 从数组中删除重复项
- 在 Java 中对数组进行切片
- 在 Java 中不使用 sort() 方法对数组进行排序
- Java 中的列表与数组