从java中的二维数组流
我试图从一个n维int
数组中获取一个IntStream
。 有一个很好的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
,然后Stream#flatMapToInt()
方法将每个int[]
元素映射到IntStream
使用Arrays.stream(int[])
方法。
为了进一步扩展Rohit的答案,可以使用方法参考来略微缩短所需的代码量:
int[][] arr = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; IntStream stream = Arrays.stream(arr).flatMapToInt(Arrays::stream);
- 平滑锯齿状路径
- Java – 如何只创建具有有效属性的对象?
- java.lang.NoSuchMethodError:com.google.common.io.Closeables.closeQuietly(Ljava / io / Closeable;)V
- PHP中的无符号右移/零填充右移/ >>>(Java / JavaScript等效)
- 以自动方式查找泄漏内存的JUnit测试
- javax.net.ssl.SSLException:无法识别的SSL消息,明文连接?
- 使用JSch拒绝权限
- 使用python API进行的培训作为Java API中LabelImage模块的输入?
- 在spring boot 2.0.0中设置jvmRoute