Какое значение останется в HashMap, если добавить идентичный уже имеющемуся ключ?

«Какое значение останется в HashMap, если добавить идентичный уже имеющемуся ключ?» — вопрос из категории Java, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

При добавлении в HashMap пары с ключом, который уже существует, старое значение будет заменено на новое. HashMap не допускает дублирования ключей.

Пример:

import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("key", 1);
        map.put("key", 2); // заменяет предыдущее значение

        System.out.println(map.get("key")); // Выведет 2
    }
}

Важные моменты:

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