Java8中Map之merge()方法的功能是什么呢?

乔欣 Java经验 发布时间:2023-07-14 22:02:00 阅读数:15883 1
下文笔者讲述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会被强制移除
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202307/16893433597079.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者