Java8 Map 中新增的方法使用记录,java百度地图api接口

computeIfP

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

resent 方法

方法原型 V computeIfPresent(K key, BiFunction remappingFunction),如果指定的 key 存在并且相关联的 value 不为 null 时,根据旧的 key 和 value 计算 newValue 替换旧值,newValue 为 null 则从 map 中删除该 key; key 不存在或相应的值为 null 时则什么也不做,方法的返回值为最终的 map.get(key)。

参考实现:

if (map.get(key) != null) {

V oldValue = map.get(key);

V newValue = remappingFunction.apply(key, oldValue);

if (newValue != null)

map.put(key, newValue);

else

map.remove(key);

}

示例及效果:

String ret;

Map map = new HashMap<>();

ret = map.computeIfPresent(“a”, (key, value) -> key + value); //ret null, map 为 {}

map.put(“a”, null); //map 为 [“a”:null]

ret = map.computeIfPresent(“a”, (key, value) -> key + value); //ret null, map 为 {“a”:null}

map.put(“a”, “+aaa”);

ret = map.computeIfPresent(“a”, (key, value) -> key + value); //ret “a+aaa”, m

你可能感兴趣的:(程序员,面试,java,后端)