gpt4 book ai didi

java - flatMap 类型 - 尝试合并 DoubleStreams

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:06:48 24 4
gpt4 key购买 nike

    final double[][] a = new double[][] { { 1, 2, 3 }, { 4, 5, 6 } };
final int numRows = a.length;
final int numCols = a[0].length;
final double[] da = IntStream.range(0, numCols)
.mapToObj(i -> IntStream.range(0, numRows).mapToDouble(j -> a[i][j])).flatMap(d -> d)
.toArray(double[]::new);
// da should be [1, 4, 2, 5, 3, 6]

错误是:无法推断 flatMap(Function>) 的类型参数

正确的写法是什么?我试过从 map 发出 double[] 但也无法做到这一点。非常感谢。

最佳答案

您的代码中有一个小错误:您在 a[i][j] 中混合了 ij。改变这些指数你得到它:

double[] da = IntStream.range(0, numCols)
.mapToObj(i -> IntStream.range(0, numRows).mapToDouble(j -> a[j][i]))
.flatMapToDouble(d -> d)
.toArray();

您也可以使用 flatMapToDouble(Function.identity()) 代替 flatMapToDouble(d -> d)

关于java - flatMap 类型 - 尝试合并 DoubleStreams,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42948413/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com