Я очень хочу использовать Map.computeIfAbsent, но это было слишком долго, так как лямбды в undergrad.
Почти непосредственно из документов: он дает пример старого способа делать вещи:
Map<String, Boolean> whoLetDogsOut = new ConcurrentHashMap<>();
String key = "snoop";
if (whoLetDogsOut.get(key) == null) {
Boolean isLetOut = tryToLetOut(key);
if (isLetOut != null)
map.putIfAbsent(key, isLetOut);
}
И новый способ:
map.computeIfAbsent(key, k -> new Value(f(k)));
Но в их примере я думаю, что я не совсем "получаю". Как преобразовать код, чтобы использовать новый лямбда-способ выражения этого?