Ответ
HashMap в Java позволяет использовать один null-ключ. Он хранится в бакете с индексом 0.
Поведение:
- Первый вызов
map.put(null, value)успешно добавит запись. - Последующий вызов
map.put(null, anotherValue)перезапишет значение дляnull-ключа.
Пример:
Map<String, String> map = new HashMap<>();
map.put(null, "Первое значение");
map.put(null, "Второе значение"); // Перезапись!
System.out.println(map.get(null)); // "Второе значение"
System.out.println(map.size()); // 1
Важные отличия:
Hashtableне разрешаетnullни как ключ, ни как значение.ConcurrentHashMapтакже не разрешаетnull(из-за неоднозначности в многопоточной среде).