Поддерживает ли LinkedHashMap в Java нулевые (null) ключи?

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

Ответ

Да, поддерживает. LinkedHashMap, как и HashMap, разрешает использование null в качестве ключа.

Важные детали:

  • Ключи в Map должны быть уникальными. Если добавить несколько записей с ключом null, будет сохранено только последнее значение.
  • Порядок итерации для null-ключа соответствует порядку вставки (для LinkedHashMap).

Пример:

LinkedHashMap<String, Integer> map = new LinkedHashMap<>();
map.put(null, 1);
map.put(null, 2); // Перезаписывает значение для ключа null
System.out.println(map.get(null)); // Выведет: 2
System.out.println(map.size());    // Выведет: 1

Ограничение: При использовании Comparator или Comparable (например, в TreeMap) null-ключи могут вызывать NullPointerException, так как для сравнения требуется вызов метода.