【发布时间】:2019-02-17 01:31:07
【问题描述】:
我想确定“行”中的“列”或更好:构建地图列表的总和,如 List> 行
是否有可能对每个不同列的所有值求和?该函数应返回一个以列为键、所有值之和为值的 Map。
summMap.get("columname")
假设我有以下地图列表:
List<Map<String, Long>> mapList = new ArrayList();
Map<String, Object> map1 = new HashMap<>();
Map<String, Object> map2 = new HashMap<>();
Map<String, Object> map3 = new HashMap<>();
map1.put("col1", 90);
map1.put("col2", 50);
map1.put("col3", 10);
map2.put("col1", 90);
map2.put("col2", 50);
map2.put("col3", 10);
map3.put("col1", 90);
map3.put("col2", 50);
map3.put("col3", 10);
mapList.add(map1);
mapList.add(map2);
mapList.add(map3);
Map<String, Long> sum = mapList.stream().distinct().sum() // Example
// result i'm awaiting/expecting
Long sumVal1 = sum.get("col1"); // 270
Long sumVal2 = sum.get("col2"); // 150
Long sumVal3 = sum.get("col3"); // 30
长 sumVal = sum.get("col1");
【问题讨论】:
-
显示你得到的代码。
-
您的问题不清楚 - 请重新表述您的问题。
-
因此您有一个映射列表为 ("columnname","value") 并且您希望每个唯一列名的 [value] 总和。对吗?
-
我添加了一个例子
-
是的,对于每个唯一的列。
标签: java functional-programming java-stream