从Java中的二维数组流
问题内容:
我试图IntStream
摆脱n维int
数组。有没有一种不错的API方法可以做到这一点?我知道两个流的连接方法。
问题答案:
假设您要以行优先的方式顺序处理数组的数组,这应该可以工作:
int[][] arr = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
IntStream stream = Arrays.stream(arr).flatMapToInt(x -> Arrays.stream(x));
首先,它调用Arrays.stream(T[])
方法(其中T
推断为int[]
)以获取Stream<int[]>
,然后Stream#flatMapToInt()
方法将每个int[]
元素映射到IntStream
using
Arrays.stream(int[])
方法。