假设我有一个List<Double>
,例如[2,4.3,-1.1]。我想对这些元素求和,同时删除所有负数(我想将每个数的最大值与0相对)。对于此示例,答案应为2 + 4.3 = 6.3
我想使用Java 8流来执行此操作,但是我一直坚持降低max(x,0)部分。有人有这样做的线索吗?
这是我到目前为止所拥有的:
scores.stream()
.mapToDouble(i -> i.getValue())
// max between the number and 0??
.sum
答案 0 :(得分:4)
.mapToDouble(i -> Math.max(i, 0))
您还可以使用过滤器执行此操作:
.filter(i -> i > 0)