Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将流分组两次_Java_Java Stream - Fatal编程技术网

Java 将流分组两次

Java 将流分组两次,java,java-stream,Java,Java Stream,我有一组字符串数组,如下所示 new ArrayList<>().addAll( Arrays.asList( new String[]{"foo","bar", "5"}, new String[]{"foo", "bar2", "8"}, new String[]{"foo", "bar", "5"} ) ); 之后,内部值将是数组中第三列的和 我自己尝试这样做时,产生了以下代码: Function<

我有一组字符串数组,如下所示

new ArrayList<>().addAll(
    Arrays.asList(
        new String[]{"foo","bar", "5"}, 
        new String[]{"foo", "bar2", "8"},  
        new String[]{"foo", "bar", "5"}
    )
);
之后,内部值将是数组中第三列的和

我自己尝试这样做时,产生了以下代码:

 Function<String[], String> teste = (row -> row[finalCategoriaColumnIndex]);
 Function<String[], String> teste2 = (row -> row[3]);
 ToDoubleFunction<String[]> teste3 = (row -> (row -> Double.parseDouble(row[finalValorColumnIndex]));



sqlResult
    .getResults()
    .parallelStream()
    .collect(Collectors.groupingBy(
        teste,
        Collectors.groupingBy(
            teste2,
            Collectors.summingDouble(teste3)
        )
     ));
函数teste=(行->行[finalCategoriaColumnIndex]);
函数teste2=(行->行[3]);
ToDoubleFunction teste3=(行->(行->双精度.parseDouble(行[finalValorColumnIndex]));
sqlResult
.getResults()
.parallelStream()
.collect(收集器.groupingBy(
teste,
收集者分组(
测试2,
收集器.总和加倍(测试3)
)
));
但是IntelliJ指控一个错误,我能做什么

编辑: 智能错误

(java.util.stream.Collector,java.util.Map>)

问题在于getHeaders()应该是getResults()。我想我需要一杯咖啡,谢谢你的回答。

那么什么是错误?相信IntelliJ。发布你收到的错误消息;也许这会更清楚。你的例子对我来说很难理解。这也许可以解释为什么你遇到麻烦。还有,为什么你在SqlResult.Headers上有parallelStream?真的有这么多的h吗eaders认为将整个并行处理工具初始化以计算double的和是合理的?对不起,我将迭代结果,我的错误对我来说很好,假设
parallelStream()
返回
流。
 Function<String[], String> teste = (row -> row[finalCategoriaColumnIndex]);
 Function<String[], String> teste2 = (row -> row[3]);
 ToDoubleFunction<String[]> teste3 = (row -> (row -> Double.parseDouble(row[finalValorColumnIndex]));



sqlResult
    .getResults()
    .parallelStream()
    .collect(Collectors.groupingBy(
        teste,
        Collectors.groupingBy(
            teste2,
            Collectors.summingDouble(teste3)
        )
     ));