Давайте разберемся с этой путаницей раз и навсегда.
• Методы put (put, putIfAbsent) возвращают старое значение.
• Методы работы с множеством элементов (putAll, replaceAll, clear) не возвращают ничего.
• remove и replace с указанием не только ключа, но и старого значения, возвращают boolean; без указания – это самое старое значение.
• Методы с коллбэками (computeIfPresent, computeIfAbsent, compute, merge) возвращают актуальное значение после вызова, оставшееся или новое.
В этом канале не осталось вопросов для повторения