Map.merge() 使用

代码示例:

public static void main(String[] args) {
    
    
    Map<String, Integer> map = new HashMap<>();
    map.put("test1", 1);
    map.merge("test1", 1, Integer::sum);
    map.merge("test1", 1, (v1, v2) -> v1 + v2);
    System.out.println(map);
}

执行结果:

{test1=3}

总结:

Map.merge() 功能为将 value 合并而生,第三个参数用于设置合并算法。

补充:

merge() 的第三个参数中,函数式接口的入参应该用 v1v2 来命名。
因为第三个参数是对 Map 中 value 的操作,很多人误写为 k1 或 key1,实际上是错误的理解。以下为 Java8 中对 merge() 方法的官方文档,可以看到使用 value 来命名更为贴切:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_33204709/article/details/127919913