请使用流来实现上述功能
时间: 2023-12-21 19:05:09 浏览: 25
好的,根据你的要求,我来编写一段 Java 代码使用流来实现该功能:
```java
double gdInAmountSum = gmjjList.stream()
.filter(map -> map.containsKey("gdInAmount"))
.mapToDouble(map -> Double.parseDouble(map.get("gdInAmount").toString()))
.sum();
double gdOutAmountSum = gmjjList.stream()
.filter(map -> map.containsKey("gdOutAmount"))
.mapToDouble(map -> Double.parseDouble(map.get("gdOutAmount").toString()))
.sum();
Map<String, Object> sumMap = new HashMap<>();
sumMap.put("gdInAmountSum", gdInAmountSum);
sumMap.put("gdOutAmountSum", gdOutAmountSum);
return sumMap;
```
这段代码使用了 Java 8 中的流式 API,首先使用 `filter` 方法过滤出包含 `gdInAmount` 或 `gdOutAmount` 属性的元素,然后使用 `mapToDouble` 方法将这些属性转换成 `double` 类型并执行求和操作。最后将求和结果存入 `sumMap` 对象中并返回。