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

Java中如何用最简洁方式判断HashMap包含指定key后执行取值累加?

HashMap数值累加的简化实现方式

针对你需要对HashMap中指定key的数值做累加的场景,Java 8及以上版本有两种非常简洁的写法,无需手动判断key是否存在:

方法1:使用getOrDefault

这是最容易理解的写法,一行即可实现和你原逻辑完全等价的效果:

fee.put("2", fee.getOrDefault("2", 0.0) + 12.00);

说明:getOrDefault方法会先查询key对应的值,如果key不存在则返回你指定的默认值(这里就是0.0),直接和需要累加的数值相加后存入即可。

方法2:使用merge(更推荐)

merge是专门为这种「存在就计算、不存在就插入」的场景设计的API,写法更简洁,语义也更清晰:

fee.merge("2", 12.00, Double::sum);

说明:这个方法的逻辑是:

  • 如果key "2" 不存在,直接把12.00作为值存入
  • 如果key "2" 存在,就把旧值和12.00作为参数传入第三个参数的求和函数,计算后的结果作为新值存入

注意:以上两种方法都要求JDK版本为1.8及以上,如果是更低版本的JDK,只能使用你原本的containsKey判断逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:06:03