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

如何在Map存在指定Key时替换其对应值?

正确实现方式

你可以通过Lambda表达式来满足computeIfPresent对第二个参数的要求,因为该方法需要的是一个BiFunction<String, String, String>类型的函数——它接收键和旧值作为参数,返回新值。你只需要忽略旧值,直接返回"Hello"即可:

myMap.computeIfPresent("Brian", (key, oldValue) -> "Hello");

补充说明

  • computeIfPresent的逻辑是:只有当指定键存在且对应的值不为null时,才会执行传入的函数,并将函数返回的新值替换原来的值。
  • 如果你觉得Lambda写法有点繁琐,也可以用更直白的方式实现需求:
if (myMap.containsKey("Brian")) {
    myMap.put("Brian", "Hello");
}

这种写法逻辑清晰,和computeIfPresent的效果完全一致,适合偏好直观代码的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 20:02:04