java map 平均值_使用Java 8获取两个HashMap的平均值
我有两个HashMap< String,Integer>.如何获得这些值的平均值?
HashMap map1
map1.put("str1", 7);
map1.put("str2", 4);
HashMap map2
map2.put("str1", 3);
map2.put("str2", 2);
预期的输出是:
("str1") = 5;
("str2") = 3;
我能够按以下方式检索两张地图的总和:
map2.forEach((k, v) -> map1.merge(k, v, Integer::sum));
但是如何使用Java 8检索两张地图的平均值?
更新:
应@的要求,我发布了代码的较大部分:
HashMap> map;
HashMap map2 = new HashMap();
map = func1();
map = func2();
map = func3();
for (Entry> entry : map.entrySet()) {
String key = entry.getKey();
HashMap mp = map.get(key);
mp.forEach((k, v) -> map2.merge(k, v, (t, u) -> (t + u) / 2));
for (Entry entry1 : mp.entrySet()) {
StringfieldName = entry1.getKey();
Double score= entry1.getValue();
System.out.println(fieldName.toString() + " = " + score);
}
}
return map2;
}