【问题标题】:Is there a way to use streams to return value from doing operations on elements [duplicate]有没有办法使用流通过对元素进行操作来返回值[重复]
【发布时间】:2021-07-09 16:27:00
【问题描述】:

我有一个Train 类,其中一个List<TrainCar> 包含来自TrainCar 类的对象。 我在Train 中有一个名为getTotalWeight() 的函数。每个TrainCar 都有一个名为getWeight() 的函数,它返回一个值。 我可以以某种方式使用流来使getTotalWeight() 函数的主体看起来像这样吗?

return cars.stream().//some function//;

【问题讨论】:

    标签: java lambda functional-programming sum java-stream


    【解决方案1】:

    您可以使用mapToDouble 获取权重流,然后使用sum 它们:

    return cars.stream().mapToDouble(TrainCar::getWeight).sum();
    

    【讨论】:

    • 相同但使用mapToInt 以防getWeight 返回int 而不是double
    猜你喜欢
    • 1970-01-01
    • 2019-09-28
    • 2011-02-26
    • 1970-01-01
    • 2015-03-29
    • 1970-01-01
    • 1970-01-01
    • 2022-11-25
    • 2019-10-15
    相关资源
    最近更新 更多