Обычно для таких задач пишут проверку: есть ли ключ, потом отдельно увеличивают значение:
if (stats.containsKey("java")) {
stats.put("java", stats.get("java") + 1);
} else {
stats.put("java", 1);
}Метод merge делает это короче и безопаснее:
stats.merge("java", 1, Integer::sum);Если ключа ещё нет Java положит значение 1.
Если ключ уже есть Java возьмёт старое значение и объединит его с новым через функцию:
Integer::sum
То есть при повторном вызове значение просто увеличится:
stats.merge("java", 1, Integer::sum);Это удобно для подсчёта слов, лайков, событий, ошибок, метрик и любой статистики.
Map.merge() это простой способ писать меньше кода и не плодить ручные проверки.👉 Java Ready | #совет
