java基础总结(八十五)--java8新特性之put与compute,computeIfAbsent与putIfAbsent区别

本文详细探讨了Java集合框架中`put`、`putIfAbsent`、`compute`和`computeIfAbsent`四个方法的行为差异。`put`和`compute`在任何情况下都会覆盖已有键值对,前者返回旧值,后者返回新值。而`putIfAbsent`与`computeIfAbsent`仅在键不存在时插入新键值对,两者返回值分别为旧值或新值。理解这些方法的使用场景对于优化Java代码至关重要。

原文链接

 是否覆盖value返回值
put覆盖前
compute覆盖后
putIfAbsent覆盖前
computeIfAbsent覆盖后

总结:

  1. put与compute:

           不论key是否存在,强制用value覆盖进去。

           区别:put返回旧value或null,compute返回新的value

    2. putIfAbsent与computeIfAbsent:

           key存在,则不操作,key不存在,则赋值一对新的(key,value)。

 

           区别:putIfAbsent返回旧value或null,computeIfAbsent返回新的value

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值