Java Docsによると、putIfAbsent
これは
if (!map.containsKey(key))
return map.put(key, value);
else
return map.get(key);
したがって、キーがマップに存在する場合、その値は更新されません。これは正しいです?
いくつかの基準に基づいてキー値を更新したい場合はどうなりますか?有効期限などを言います。
これは、キャッシュを追加および更新するためのより良い実装でしょうか?
public void AddToCache(T key, V value)
{
V local = _cache.putifabsent(key, value);
if(local.equals(value) && local.IsExpired() == false){
return;
}
// this is for updating the cache with a new value
_cache.put(key, value);
}