如何在 Java 中将列表转换为数组
Hassan Saeed
2023年1月30日
2020年10月27日
本教程讨论了在 Java 中把一个列表转换为数组的方法。
在 Java 中将列表转换成数组
此方法只是创建一个与列表大小相同的新数组,并在列表上迭代,向数组中填充元素。下面的例子说明了这一点。
import java.util.*;
public class MyClass {
public static void main(String args[]) {
List<Integer> list = new ArrayList();
list.add(1);
list.add(2);
int[] array = new int[list.size()];
for(int i = 0; i < list.size(); i++)
array[i] = list.get(i);
}
}
结果数组包含了列表中的所有元素。注意,如果生成的数组是非原生类型,则不应使用此方法。
在 Java 中使用 toArray()
将列表转换为引用类型的数组
如果列表包含引用类型的元素,如类的对象,则使用该方法。我们可以使用内置的 toArray()
方法将这种类型的列表转换为数组。下面的例子说明了这一点。
import java.util.*;
public class MyClass {
public static void main(String args[]) {
List<Foo> list = new ArrayList();
list.add(obj);
Foo[] array = list.toArray(new Foo[0]);
}
}
在 Java 中使用 stream()
将一个列表转换为一个数组
对于 Java 8 及以上的版本,我们也可以使用 Stream API 的 stream()
方法在 Java 中将列表转换为数组。下面的例子说明了这一点。
import java.util.*;
public class MyClass {
public static void main(String args[]) {
List<Integer> list = new ArrayList();
list.add(1);
list.add(2);
Integer[] integers = list.stream().toArray(Integer[]::new);
}
}