代码如下:
public class MapMerge { public static void main(String[] args) { // 1.不需要转换value的数据类型,直接可以相加 Mapmap1 = new HashMap<>(); map1.put("a", new BigDecimal("1")); map1.put("b", new BigDecimal("2")); Map map2 = new HashMap<>(); map2.put("a", new BigDecimal("1")); map2.put("b", new BigDecimal("2")); // 将map1加到map2中 map1.forEach((key, value) -> map2.merge(key, value, BigDecimal::add)); System.out.println("map2:" + map2); // 2.需要转换value的数据类型,转换之后再相加 Map map3 = new HashMap<>(); map3.put("a", "1"); map3.put("b", "2"); Map map4 = new HashMap<>(); map4.put("a", "1"); map4.put("b", "2"); // 将map3加到map4中 map3.forEach((key, value) -> map4.merge(key,value, (v1, v2) -> new BigDecimal(v1.toString()).add(new BigDecimal(v2.toString())))); System.out.println("map4:" + map4); } }
运行结果:
map2:{a=2, b=4}
map4:{a=2, b=4}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)