You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Map中已存在指定Key时的行为及同Key异值插入的结果咨询

Map 重复Key操作行为解析

1. 当Map中已存在指定Key时的操作行为

以Java标准库常见Map实现(如HashMap、TreeMap)为例,不同方法的表现不同:

  • 调用put(key, value):已存在Key对应的旧值会被新值覆盖,方法返回被替换的旧值。
  • 调用putIfAbsent(key, value):不会修改现有Key的值,方法直接返回当前已存在的旧值。

2. 插入已存在Key的不同值时的结果

针对不同操作方法,结果分为以下情况:

  • 使用put方法:Map中该Key的旧值会被新值完全替换,最终Map存储新值,方法返回被替换的旧值。
  • 使用putIfAbsent方法:Map中该Key的值保持原有状态不变,新值不会被插入,方法返回当前已存在的旧值。
  • 特殊情况:不可变Map实现(如Guava ImmutableMap)会直接抛出UnsupportedOperationException,因为它们不允许修改已有条目。

内容的提问来源于stack exchange,提问作者Prakash Thakur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 01:27:05