Sur*_*ani 24 java java-8 java-stream
我试图IntStream从一个n维int数组中获得一个.有一个很好的API方法吗?我知道两个流的连接方法.
Roh*_*ain 44
假设你想在行主要方法中顺序处理数组数组,这应该工作:
int[][] arr = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
IntStream stream = Arrays.stream(arr).flatMapToInt(x -> Arrays.stream(x));
Run Code Online (Sandbox Code Playgroud)
首先,它调用Arrays.stream(T[])方法,其中T推断为int[],获取a Stream<int[]>,然后Stream#flatMapToInt()方法将每个int[]元素映射到IntStreamusing Arrays.stream(int[])方法.
为了进一步扩展Rohit的答案,可以使用方法参考来略微缩短所需的代码量:
int[][] arr = { {1, 2, 3},
{4, 5, 6},
{7, 8, 9} };
IntStream stream = Arrays.stream(arr).flatMapToInt(Arrays::stream);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19870 次 |
| 最近记录: |