如何在 Java 中把列表转换成数组

原文:https://www.studytonight.com/java-examples/how-to-convert-list-to-array-in-java

在这篇文章中,我们将使用 Java 代码将 List 转换为 Array。列表是用于存储数据的线性数据结构,而数组是存储相似类型数据的基于索引的数据结构。

为了将列表转换成数组,我们使用了返回对象数组的列表界面的toArray()方法。

我们使用了几个例子来将列表转换成一个数组,这个数组有老的和新的方法,比如流和方法引用。

举例时间:

在这个例子中,我们正在创建一个水果列表并打印它的元素。之后,我们使用 toArray()方法将列表转换为数组。toArray()方法返回一个对象元素数组。所以,如果你想得到另一种类型的数组,那么传递一个该类型的对象作为参数。

import java.util.ArrayList;
import java.util.List;
public class Main {
    public static void main(String[] args){
        List<String> fruits = new ArrayList<>(); 
        fruits.add("Mango");
        fruits.add("Apple");
        fruits.add("Orange");
        System.out.println(fruits);
        // Conversion List to array
        String[] newArray =  fruits.toArray(new String[0] );
        System.out.println(newArray);
        for (int i = 0; i < newArray.length; i++) {
            System.out.println(newArray[i]);
        }
    }
}

【芒果,苹果,橙】 【ljava . lang . string;@3764951d 芒果 苹果 橙

示例:Java 8

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

import java.util.ArrayList;
import java.util.List;
public class Main {
    public static void main(String[] args){
        List<String> fruits = new ArrayList<>(); 
        fruits.add("Mango");
        fruits.add("Apple");
        fruits.add("Orange");
        System.out.println(fruits);
        // Conversion List to array
        String[] newArray =  fruits.stream().toArray(String[]::new);
        System.out.println(newArray);
        for (int i = 0; i < newArray.length; i++) {
            System.out.println(newArray[i]);
        }
    }
}

【芒果,苹果,橙】 【ljava . lang . string;@3764951d 芒果 苹果 橙

示例:

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

import java.util.ArrayList;
import java.util.List;
public class Main {
    public static void main(String[] args){
        List<String> fruits = new ArrayList<>(); 
        fruits.add("Mango");
        fruits.add("Apple");
        fruits.add("Orange");
        System.out.println(fruits);
        // Conversion List to array
        String[] newArray =  fruits.toArray(String[]::new);
        System.out.println(newArray);
        for (int i = 0; i < newArray.length; i++) {
            System.out.println(newArray[i]);
        }
    }
}

【芒果,苹果,橙】 【ljava . lang . string;@3764951d 芒果 苹果 橙