Say*_*Pal 3 java java-8 java-stream
我正在尝试int[][]使用Java 8流生成.
这是我到目前为止所做的:
objects.parallelStream()
.map(o -> o.getPropertyOnes()
.parallelStream()
.map(t-> t.getIndex()) //<-- getIndex() returns int
.mapToInt(i -> i)
.toArray()) //<-- here I have a Stream<int[]>
.toArray(); //lost here
Run Code Online (Sandbox Code Playgroud)
在外面的结尾.map()我有一个Stream<int[]>,但不知道如何将其转换为int[][].请建议.
首先你可以简化map().mapToInt()to mapToInt(t-> t.getIndex())(也许你应该使用方法参考<type>::getIndex).
正如你所说,你已经Stream<int[]>在map舞台后.那么你只需要提供一个数组生成器函数,如:
int[][] array = Stream.of(1, 2, 3, 4)
.map(i -> IntStream.range(0, i).toArray())
.toArray(int[][]::new);
Run Code Online (Sandbox Code Playgroud)
输出:
[[0], [0, 1], [0, 1, 2], [0, 1, 2, 3]]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
583 次 |
| 最近记录: |