Разрешено ли хранение null в качестве ключа в HashMap?

В Java HashMap разрешает хранить null в качестве ключа. В частности, HashMap допускает ровно один ключ null.

Короткий ответ

Что ответить на собеседовании

В Java HashMap разрешает хранить null в качестве ключа. В частности, HashMap допускает ровно один ключ null.

Подробный разбор

Ответ с пояснениями

В Java HashMap разрешает хранить null в качестве ключа. В частности, HashMap допускает ровно один ключ null.

Это возможно благодаря особенностям реализации: для ключа null используется отдельная логика, которая не вызывает hashCode(), а хранит значение в специальном месте.

Пример:

HashMap<String, String> map = new HashMap<>();
map.put(null, "value for null key");
System.out.println(map.get(null)); // Выведет: value for null key

В отличие от HashMap, некоторые другие реализации, например Hashtable, не допускают null в качестве ключа.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку