Конкретно: списки могут иметь дублирующиеся элементы, но карты не могут иметь дублирующиеся ключи, поэтому у нас может быть 2 нуля в списке, но только один нуль на карте.
Ответ на ваш более общий вопрос (логика поведения этих интерфейсов в отношении дубликатов) заключается в том, что не существует какого-либо одного «более» или «менее» логического способа реализации нулевых ограничений в картах.
Конечно, универсального правила не существует: например, -
Первоначально, Hashtables Java не допускали нулевые значения.
Но позже HashMap реализовал другое поведение ( допускает нулевые значения ).
Поскольку в реальном мире, безусловно, есть случаи, когда мы можем иметь нулевые значения, но очень мало случаев, когда у нас был бы / должен быть нулевой ключ, вы можете спросить себя, почему у вас есть несколько записей с нулевым ключом и нулевым значением в той же структуре данных - действительно ли эти значения представляют собой что-то значимое?