List<Map<String, Object>> gmjjList;计算某个参数的合计值,返回一个map
时间: 2023-10-29 15:19:00 浏览: 74
可以使用Java 8的Stream API来实现对该List<Map<String, Object>>的某个参数进行求和,然后返回一个Map,代码如下:
```java
Map<String, Object> sumMap = gmjjList.stream()
.flatMap(map -> map.entrySet().stream())
.filter(entry -> entry.getKey().equals("paramName")) // 指定要求和的参数名
.collect(Collectors.groupingBy(Map.Entry::getKey, Collectors.summingDouble(entry -> Double.parseDouble(entry.getValue().toString()))));
```
其中,"paramName"需要替换为要求和的参数名。这里假设该参数的值是一个double类型。如果是其他类型,可以修改summingDouble的参数类型。
上述代码的思路是,先将List<Map<String, Object>>中的每个Map打散成一个个Entry,然后根据参数名进行过滤,只保留需要求和的参数的Entry。最后使用groupingBy进行分组,以参数名为键,将所有参数值相加的结果作为值,得到一个Map。
相关问题
List<Map<String, Object>> gmjjList;计算其中的gdInAmount的合计值和gdOutAmount的合计值,返回一个Map<String, Object> sumMap
好的,根据你的要求,我来编写一段 Java 代码实现该功能:
```java
Map<String, Object> sumMap = new HashMap<>();
double gdInAmountSum = 0;
double gdOutAmountSum = 0;
for (Map<String, Object> map : gmjjList) {
if (map.containsKey("gdInAmount")) {
gdInAmountSum += Double.parseDouble(map.get("gdInAmount").toString());
}
if (map.containsKey("gdOutAmount")) {
gdOutAmountSum += Double.parseDouble(map.get("gdOutAmount").toString());
}
}
sumMap.put("gdInAmountSum", gdInAmountSum);
sumMap.put("gdOutAmountSum", gdOutAmountSum);
return sumMap;
```
这段代码首先创建了一个空的 `HashMap` 对象 `sumMap`,然后遍历了 `gmjjList` 列表中的所有元素,对于每个元素,如果它包含了 `gdInAmount` 或 `gdOutAmount` 属性,则将其转换成 `double` 类型并累加到相应的总和变量中。最后将总和变量存入 `sumMap` 对象中并返回。
List<Map<String, Object>> gmjjList;计算其中的gdInAmount的合计值和gdOutAmount的合计值,返回一个map
可以使用Java 8的Stream API来实现对该List<Map<String, Object>>的gdInAmount和gdOutAmount进行求和,然后返回一个Map,代码如下:
```java
Map<String, Double> sumMap = gmjjList.stream().flatMap(map -> map.entrySet().stream())
.filter(entry -> entry.getKey().equals("gdInAmount") || entry.getKey().equals("gdOutAmount"))
.collect(Collectors.groupingBy(Map.Entry::getKey, Collectors.summingDouble(entry -> Double.parseDouble(entry.getValue().toString()))));
```
上述代码的思路与上一个问题的代码类似,只是在过滤的时候增加了两个条件,分别是参数名是"gdInAmount"和"gdOutAmount"。最终得到的Map中,键为参数名,值为该参数的合计值。
阅读全文