如何从Java8中的对象列表中获取两个属性的乘积

我有一个包含价格和数量的物品清单。我希望获得总和,即对象列表中所有(产品价格 * 产品数量)的总和。在 Java 8 中执行此操作的最佳方法是什么?

我可以通过流列表获得所有产品价格的总和,list..stream().map(Product::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add));但我不确定如何获得价格和数量的产品。

回答

使用计算乘积map,然后得到总和reduce

list.stream()
    .map(p -> p.getPrice().multiply(p.getQty()))
    .reduce(BigDecimal.ZERO, BigDecimal::add);


以上是如何从Java8中的对象列表中获取两个属性的乘积的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>