将数组列表转换为单个数组

时间:2018-06-10 06:02:28

标签: java arrays list

如何在Java中将数组列表转换为单个数组。是否有任何预定义的功能可供使用?

下面是数组列表,我想迭代并将所有值保存在一个数组中。

List<Integer[]> integerArrayList = new ArrayList<Integer[]>();

Integer[] resultArray = {};

是否有有效的实施方式?

2 个答案:

答案 0 :(得分:6)

Java 8的流使这很简单:

Integer[] resultArray = 
    integerArrayList.stream().flatMap(Arrays::stream).toArray(Integer[]::new);

答案 1 :(得分:4)

使用Stream s:

Integer[] resultArray = integerArrayList.stream () // create a Stream<Integer[]>
                                        .flatMap (Stream::of) // flatten to a Stream<Integer>
                                        .toArray (Integer[]::new); // generate Integer[]

同样,您可以制作int[]

int[] resultArray2 = integerArrayList.stream () // create a Stream<Integer[]>
                                     .flatMap (Stream::of) // flatten to a Stream<Integer>
                                     .mapToInt(Integer::intValue) // convert to IntStream
                                     .toArray (); // generate int[]