欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

Java map.getOrDefault()方法的用法详解

时间:2021-03-06 10:13:12|栏目:JAVA代码|点击:

Map.getOrDefault(Object key, V defaultValue)方法的作用是:

当Map集合中有这个key时,就使用这个key值;

如果没有就使用默认值defaultValue。

代码示例如下:

 HashMap<String, String> map = new HashMap<>();
 map.put("name", "cookie");
 map.put("age", "18");
 map.put("sex", "女");
 String name = map.getOrDefault("name", "random");
 System.out.println(name);// cookie,map中存在name,获得name对应的value
 int score = map.getOrDefault("score", 80);
 System.out.println(score);// 80,map中不存在score,使用默认值80

补充知识:java8中java.util.Map接口新增默认方法说明

###前言:

1.看了Map接口新增的几个默认方法,测试了一下用法。在这里分享一下;

###新增方法:

//若传入的key对应的value为null或者key不存在Map中,则返回defaultValue
1. default V getOrDefault(Object key, V defaultValue)

//遍历Map集合,方法比较爽,省的自己写迭代器了
2. default void forEach(BiConsumer<? super K, ? super V> action)

//全部修改map的value值,修改的值取决于传入Lambda的返回值
3. default void replaceAll(BiFunction<? super K, ? super V, ? extends V> function) 

//若key对应的Value为空或者null,则使用value替代
4. default V putIfAbsent(K key, V value)

//若传入的value和map中key对应的value相等,则删除,返回true,否者,返回false
5. default boolean remove(Object key, Object value) 

//oldValue和Map中key对应的value相等,或者Map不包含key,则返回false,否则想key,newValue存放进Map
6. default boolean replace(K key, V oldValue, V newValue)

oldValue和Map中key对应的value相等,或者Map不包含key,则返回false,否则想key,newValue替换进Map
7. default V replace(K key, V value)
8. default V computeIfAbsent(K key,
      Function<? super K, ? extends V> mappingFunction)

9. default V computeIfPresent(K key,
      BiFunction<? super K, ? super V, ? extends V> remappingFunction)
10.  default V compute(K key,
      BiFunction<? super K, ? super V, ? extends V> remappingFunction) 
11. default V merge(K key, V value,
      BiFunction<? super V, ? super V, ? extends V> remappingFunction)

上一篇:java调用微信接口实现网页分享小功能

栏    目:JAVA代码

下一篇:java通过cglib动态生成实体bean的操作

本文标题:Java map.getOrDefault()方法的用法详解

本文地址:http://www.codeinn.net/misctech/75550.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有