版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013379717/article/details/89641474
一、说明
Jdk1.8中,为Map添加了一些新的方法
二、示例
// 原有的Put方法,是当Key存在时则替换;而putIfAbsent方法,则是当存在Key忽略Put操作不替换
map.putIfAbsent("K1001", "K1001-1");
// 如果Key存在,则将函数的运算结果作为这个Key对应的Value的新值Put进去
map.computeIfPresent("K1001", (k, v) -> k + v);
// 如果Map中不存这个Key对应个的键值对,则Put这个Key和将Key带入函数运算后的结果为Value的键值对;如果Key存在,则忽略Put操作
map.computeIfAbsent("K1002", k -> k);
// 只有当Map中键值对同时等于参数Key和Value时才执行删除
map.remove("K1002", "K1002");
// 从Map中获取指定Key的Value的值,如果不存在则返回指定的默认值
String vle = map.getOrDefault("K1002", "V1002");
System.out.println(vle);
// 将Map中指定Key的Value设置为将存在值与传入值通过函数运算后的结果的新值
map.merge("K1001", "V1001", (ov, pv) -> ov + pv);
// 遍历 forEach
map.forEach((k, v) -> System.out.println(k + " --> " + v));