Что будет если использовать null ключ в HashMap

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

Ответ

Использование null в качестве ключа в HashMap допустимо, но имеет особенности:

  • HashMap позволяет один null-ключ. При попытке добавить второй, значение перезапишется.
  • null-ключ хранится в бакете с индексом 0.
  • При вызове get(null) вернётся значение, связанное с null-ключом.

Пример:

HashMap<String, Integer> map = new HashMap<>();
map.put(null, 1);  // OK
map.put(null, 2);  // Перезапишет предыдущее значение
System.out.println(map.get(null));  // Выведет 2

⚠️ ConcurrentHashMap и Hashtable не поддерживают null-ключи (выбросят NullPointerException).