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)


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




