putIfAbsent() 方法

putIfAbsent() 方法是 Map 接口的一个方法,它用于向 Map 中添加一个键值对,前提是这个键尚未存在于 Map 中。如果键已经存在,putIfAbsent() 方法不会修改 Map,也不会返回任何值。只有当键不存在时,它才会将指定的键值对添加到 Map 中,并返回之前与该键关联的值(如果有的话)。如果键不存在,则返回 null
这个方法非常有用,特别是在不希望覆盖现有键值对的情况下,或者在需要检查键是否已经存在于 Map 中时。
以下是 putIfAbsent() 方法的签名和示例:

V putIfAbsent(K key, V value)
  • K 是键的类型。
  • V 是值的类型。
  • key 是要添加或检查的键。
  • value 是要与键关联的值。
    示例代码:
Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
// 尝试将 "apple" 添加到 map 中,但是因为 "apple" 已经存在,不会添加,返回 1
Integer existingValue = map.putIfAbsent("apple", 3);
System.out.println(existingValue);  // 输出: 1
// 尝试将 "cherry" 添加到 map 中,因为 "cherry" 不存在,添加成功,返回 null
Integer newValue = map.putIfAbsent("cherry", 3);
System.out.println(newValue);  // 输出: null

首先创建了一个 HashMap 并添加了两个键值对。然后,尝试将 “apple” 添加到 map 中,但由于它已经存在,putIfAbsent() 返回了之前与 “apple” 关联的值(即 1),而没有修改 map。接着,我们尝试添加 “cherry”,由于它不存在,所以添加成功,putIfAbsent() 返回 null

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值