在阅读一篇有趣的文章时,他们声称这两个函数的区别是:
如果指定的 Key 不是,这两个函数都希望添加一个元素 已在地图上显示。
PutIfAbsent 添加具有指定 Value 的元素,而 ComputeIfAbsent 添加一个元素,该元素具有使用 Key 计算的值。 Http://www.buggybread.com/2014/10/java-8-difference-between-map.html
还有
我们已经看到 putIfAbsent 消除了必须的命令式方法 定义 if 语句,但是如果获取 Java 文章是 really hurting our performance?
To optimise this, we don’t want to fetch the articles until we’re 真的确定我们需要他们ーー也就是说我们需要知道关键是 在取物品之前不在。 Http://www.deadcoderising.com/2017-02-14-java-8-declarative-ways-of-modifying-a-map-using-compute-merge-and-replace/
我还不太明白这两个函数之间有什么区别,您能详细说明一下吗?