如何在Java中将数组列表转换为单个数组。是否有任何预定义的功能可供使用?
下面是数组列表,我想迭代并将所有值保存在一个数组中。
List<Integer[]> integerArrayList = new ArrayList<Integer[]>();
Integer[] resultArray = {};
是否有有效的实施方式?
答案 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[]