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

取最大值(0,x)时对流中的元素求和?

取最大值(0,x)时对流中的元素求和?

莫回无 2021-09-15 16:47:56
假设我有一个List<Double>[2,4.3,-1.1]。我想对这些元素求和,同时删除所有负数(我想取每个数字的最大值 vs 0)。对于这个例子,答案应该是 2 + 4.3 = 6.3我想使用 Java 8 流来做到这一点,但我一直在降低最大 (x,0) 部分。有没有人有任何线索可以做到这一点?这是我到目前为止:scores.stream()      .mapToDouble(i -> i.getValue())      // max between the number and 0??      .sum
查看完整描述

1 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

.mapToDouble(i -> Math.max(i, 0))

您也可以使用过滤器执行此操作:

.filter(i -> i > 0)


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

添加回答

举报

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