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

 更新时间:2020年12月08日 09:42:07   作者:cookie_sll  
这篇文章主要介绍了Java map.getOrDefault()方法的用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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 map.getOrDefault()方法的用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

相关文章

  • 如何使用JDBC连接数据库并执行SQL语句

    如何使用JDBC连接数据库并执行SQL语句

    JDBC是Java数据库连接的缩写,是Java程序与数据库进行交互的标准API。JDBC主要包括Java.sql和javax.sql两个包,通过DriverManager获取数据库连接对象Connection,并通过Statement或PreparedStatement执行SQL语句
    2023-04-04
  • Java代码实现酒店管理系统

    Java代码实现酒店管理系统

    这篇文章主要为大家详细介绍了Java代码实现酒店管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • JavaEE线程安全实现线程池方法

    JavaEE线程安全实现线程池方法

    这篇文章主要介绍了JavaEE线程安全实现线程池方法,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-06-06
  • J2SE与c#的几点比较

    J2SE与c#的几点比较

    这篇文章主要介绍了J2SE与c#的几点比较,是看完马士兵老师的J2SE视频教程有感而写,需要的朋友可以参考下
    2014-08-08
  • JSON.toJSONString使用异常分析

    JSON.toJSONString使用异常分析

    这篇文章主要为大家介绍了JSON.toJSONString使用异常分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Java中典型的内存泄露问题和解决方法

    Java中典型的内存泄露问题和解决方法

    这篇文章主要介绍了Java中典型的内存泄露问题和解决方法,典型的内存泄露例子是一个没有实现hasCode和 equals方法的Key类在HashMap中保存的情况,可以通过实现Key类的equals和hasCode方法解决这种内存泄漏问题,需要的朋友可以参考下
    2014-04-04
  • java实现客房管理系统

    java实现客房管理系统

    这篇文章主要为大家详细介绍了java实现客房管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • java实现轻量型http代理服务器示例

    java实现轻量型http代理服务器示例

    这篇文章主要介绍了java实现轻量型http代理服务器示例,需要的朋友可以参考下
    2014-04-04
  • Spring Bean创建的另一条捷径

    Spring Bean创建的另一条捷径

    这篇文章主要为大家介绍了Spring Bean创建的另一条方法捷径详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Mybatis引入与使用的图文步骤

    Mybatis引入与使用的图文步骤

    本文主要介绍了Mybatis引入与使用的图文步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-09-09

最新评论