【问题标题】:Most elegant solution to count elements of a Stream计算 Stream 元素的最优雅的解决方案
【发布时间】:2015-12-10 11:37:59
【问题描述】:

我已经问过a few months ago 如何计算 Stream 的元素。我的新方法是:

int count = stream.mapToInt(element -> 1).sum();

您认为最优雅的解决方案是什么?

【问题讨论】:

  • stream.count()
  • @Eran 为什么七个月前不告诉我任何人?
  • @principal-ideal-domain 很高兴有人现在做了我猜
  • 您在链接的问题中问了其他问题。
  • 你知道有一个东西叫API documentation吗?顺便说一句,即使不使用它,IDE 也会在建议代码完成时建议您使用可用的方法……

标签: java-8 java-stream


【解决方案1】:

来自 Oracle 关于 Stream 的文档:

归约操作

归约操作(也称为折叠)采用一系列输入 元素并通过重复将它们组合成一个汇总结果 组合运算的应用,例如求和或 一组数字的最大值,或将元素累积到列表中。这 流类有多种形式的通用归约操作, 调用reduce()和collect(),以及多个专门的 归约形式,例如 sum()、max() 或 count()

您正在使用流中的一种归约操作,恰好还有其他操作

【讨论】:

    猜你喜欢
    • 2011-03-31
    • 2010-10-04
    • 2018-04-28
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多