Коллекции trainee
Можно ли null в HashMap?
Ответ
HashMap — да, ОДИН null-ключ (лежит в table[0]), null-значений сколько угодно. TreeMap — null-ключ нельзя (бросит NPE при сравнении). Hashtable — null нельзя ни в ключе, ни в значении (NPE).
Разбор: HashMap особым образом обрабатывает null-ключ (hash(null) даёт 0, ключ кладётся в table[0]), при этом ключ только один, а null-значений может быть много. TreeMap не принимает null-ключ из-за вызова compareTo/Comparator при сортировке, а Hashtable вообще не допускает null ни в ключе, ни в значении. Ловушка — перепутать, какая из реализаций что запрещает.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.