Что произойдет при добавлении в HashMap двух записей с одинаковым ключом?

«Что произойдет при добавлении в HashMap двух записей с одинаковым ключом?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Значение, связанное с этим ключом, будет перезаписано. HashMap не допускает дубликатов ключей — новое значение заменяет старое.

Пример:

Map<String, Integer> map = new HashMap<>();
map.put("key", 1);
map.put("key", 2); // Значение 1 заменяется на 2
System.out.println(map.get("key")); // Выведет: 2

Как это работает:

  1. Ключи сравниваются с помощью методов equals() и hashCode().
  2. Если ключи равны (equals() возвращает true), происходит замена значения.
  3. Метод put() возвращает предыдущее значение, связанное с ключом (или null, если ключа не было).
  4. Размер коллекции (size()) при этом не увеличивается.