Lambda合并两个map,key相同value相加
/**
* 两个map合并,key相同,value相加
* value类型必须为可计算类型 Integer、Long 等
*/
public class MergeMap {
public static void main(String[] args) {
mergeMap();
}
public static void mergeMap() {
long l1 = 1;
long l2 = 2;
long l3 = 3;
Map<Long, Long> map1 = new HashMap<>();
map1.put(l1, l2);
map1.put(l2, l2);
Map<Long, Long> map2 = new HashMap<>();
map2.put(l1, l3);
map2.put(l2, l2);
map2.put(l3, l3);
// 关键合并方法
map1.forEach((k, v) -> map2.merge(k, v, Long::sum));
}
}