Map新特性

Map新特性

在JDK8中Map接口提供了一些新的遍历的方法,因为在本文中所有Map方法都是以默认值方法的方式实现的,所以现有的Map接口的实现可以直接拥有这些在默认值方法中定义的默认行为,而不需要新增一行代码

先定义一个map,存一些值

 Map<Integer, String> map = new HashMap<>();
        map.put(1, "jack");
        map.put(2, "Tom");
        map.put(3, "lili");

getOrDefault(Object,V):如果拿不到,就给一个默认字符串

String value = map.getOrDefault(6, "null");

putIfAbsent(k,v):只会添加不存在相同的key值

String val = map.putIfAbsent(3, "vince");

remove(k,v):必须匹配键和值才能删除

 map.remove(1, "vince");

replace(k,v,v):只有键和值都对时,才能替换值

map.replace(3,"lili","tom")

compute(K key,BiFunction<? super K,? super V,? extends V>remappingFunction):计算指定键的映射及其当前映射的值

map.compute(1, ((integer, s) -> s + "1"));

computeIfPresent(K key,BiFunction<? super K,? super V,? extends V>remappingFunction):如果指定的键尚未与值相关联,尝试使用给定的映射函数计算其值,将其输入到此映射中

 map.computeIfAbsent(6, integer -> integer + "test");

merge(K key, V value,BiFunction< ? super V ,? super V,?extends V>remappingFunction):如果指定的键尚未与值相关联或与null相关联,则将其与给定的非空值关联

 map.merge(1, "jack", (s, s2) -> s + s2);
posted @   JamieChyi  阅读(16)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示