将 List 转换为 Array

JavaBeginner
立即练习

介绍

在本实验中,我们将学习如何在 Java 中将 List 转换为数组。List 是一种线性数据结构,用于存储数据,而数组是一种索引数据结构,用于存储相似类型的数据。我们将使用 List 接口的 toArray() 方法,该方法返回一个对象数组。

创建一个 List

我们将创建一个蔬菜的 List 并打印其元素。

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

public class Main {
    public static void main(String[] args) {
        List<String> vegetables = new ArrayList<>();
        vegetables.add("Carrot");
        vegetables.add("Potato");
        vegetables.add("Tomato");
        System.out.println("Vegetables List: " + vegetables);
    }
}

使用以下命令编译并运行上述代码。

javac Main.java && java Main

将 List 转换为 Array

现在我们将使用 toArray() 方法将 List 转换为数组。toArray() 方法返回一个 Object 类型的数组。因此,如果你想获取另一种类型的数组,可以将该类型的对象作为参数传递。

//Conversion List to Array
String[] newArray =  vegetables.toArray(new String[0] );
System.out.println("New Array: " + newArray);
for (int i = 0; i < newArray.length; i++) {
    System.out.println(newArray[i]);
}

使用以下命令编译并运行上述代码。

javac Main.java && java Main

使用 Stream() 方法转换

如果你使用的是 Java 8 或更高版本,那么你可以使用 stream() 方法获取元素的流,然后使用方法引用语法从列表中获取字符串类型元素的数组。

//Conversion List to Array with Stream Method
String[] newArray =  vegetables.stream().toArray(String[]::new);
System.out.println("New Array: " + newArray);
for (int i = 0; i < newArray.length; i++) {
    System.out.println(newArray[i]);
}

使用以下命令编译并运行上述代码。

javac Main.java && java Main

直接使用 toArray() 方法转换

如果你使用的是最新的 Java 版本,那么你可以直接从列表中获取数组,而无需使用 stream() 方法,直接使用 toArray() 方法即可。

//Conversion List to Array without using stream() method
String[] newArray =  vegetables.toArray(String[]::new);
System.out.println("New Array: " + newArray);
for (int i = 0; i < newArray.length; i++) {
    System.out.println(newArray[i]);
}

使用以下命令编译并运行上述代码。

javac Main.java && java Main

总结

在本实验中,我们学习了如何在 Java 中将 List 转换为数组。我们使用了 List 接口的 toArray() 方法将 List 转换为数组。我们还学习了多种将 List 转换为数组的方法,例如使用 stream() 方法或直接使用 toArray() 方法。