Java Map合并与computeIfAbsent和computeIfPresent

时间:2018-10-18 20:45:50

标签: java java-8 concurrenthashmap

我已经使用了计算方法以及合并方法。 但是我仍然不确定合并方法与计算方法有何不同。

在采访中有人问我一个问题,以保持针对指定IP地址列表的点击率。这是Map的基本实现,其中key是IP,值是点击数。

我用computeIfAbsent方法实现了它,但是当存在密钥时这还不够,所以我不得不更改实现以使用合并方法。

我们可以说合并等于同时使用两种计算方法吗?

1 个答案:

答案 0 :(得分:3)

从逻辑上讲是这样,您可以说它等同于:

merge(){
   computeIfAbsent(...)
   computeIfPresent(...)
}

但是它们当然有不同的实现