Вопрос проверяет понимание атомарных операций и скрытых гонок при инициализации значений.
Короткий ответ
computeIfAbsent() атомарно проверяет наличие ключа и создаёт значение.putIfAbsent() требует предварительного создания объекта.
Это может привести к лишним вычислениям.computeIfAbsent() предотвращает гонки и дублирование логики.
Он особенно полезен при дорогой инициализации.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.