Java8中Map之merge()方法的功能是什么呢?
下文笔者讲述java中merge()方法的功能简介说明,如下所示
map.merge()方法的功能
用于合并map中key里面的值 如: map.merge(key,value,(v1,v2) -> v1-v2); 1.key不存在 其效果等同于map.put(key, value) 后面的处理失效,不运行 2.当key存在 value就会变成你处理后的value值。 最终map里面的 value值 = v1-v2; 其中 v2 代表 value
map.merge()方法的使用场景
orderMap.forEach((key,OrderNumVo)->{ orderNumVoMap.merge(key,OrderNumVo,(allData,unpass)-> { allData.setNum(allData.getNum()-unpass.getNum()); return allData; }); });
map.merge()方法的测试
public static void main(String[] args) { Map<String, Integer> map1 = new HashMap<>(); map1.put("a",1); map1.put("b",2); map1.put("c",3); System.out.println(map1); //key不存在等于是map1.put(key, value),后面的处理失效。 map1.merge("d",4,(v1,v2)->v2+100); //如果存在就会变成你处理后的value值 map1.merge("a",100,(v1,v2)->v1+v2); System.out.println(map1); map1.merge("c",3,Integer::sum); map1.merge("a",4,(v1,v2)->null); System.out.println(map1); } 当key为"d"时 无论后面如何处理 都只会把value值put进去。 当key为"a"时 put进去后面处理后的值。 当处理后的值为null 这个key会被强制移除
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。