为了账号安全,请及时绑定邮箱和手机立即绑定

在 Java8 中收集统计信息

在 Java8 中收集统计信息

蛊毒传说 2021-09-29 16:33:51
我想在对一组数据进行分组后收集统计信息,但我不知道是否可以Map<String, DoubleSummaryStatistics> menuStatistics =                menuPrices.parallelStream()                        .collect(Collectors.groupingBy(cp -> dt1.format(cp.getUpdateDate())),                                Collector.of(DoubleSummaryStatistics::new));因为我有一些编译问题:Multiple markers at this line    - The method of(Supplier<R>, BiConsumer<R,T>, BinaryOperator<R>, Collector.Characteristics...) in the type Collector is not applicable for the arguments      (DoubleSummaryStatistics::new)    - The constructed object of type DoubleSummaryStatistics is incompatible with the descriptor's return type: R
查看完整描述

1 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

您需要使用Collectors.summarizingDouble(),假设您的类( 的元素类型Stream)有一些double您想要计算统计数据的属性:


Map<String, DoubleSummaryStatistics>

    menuStatistics =

        menuPrices.parallelStream()

                  .collect(Collectors.groupingBy(cp -> dt1.format(cp.getUpdateDate()),

                           Collectors.summarizingDouble(cp -> cp.getSomeDoubleValue())));


查看完整回答
反对 回复 2021-09-29
  • 1 回答
  • 0 关注
  • 151 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信