Как мы все знаем, HashMap допускает, чтобы только один ключ был нулевым, и при дублировании он заменит старый. Кроме того, нет ограничений на значение.
Но API .collect(Collectors.toMap()) в потоке ограничен как для ключ не может быть продублирован, а значение не может быть нулевым.
Если дубликат ключа предназначен для предотвращения конфликта, то почему HashMap этого не сделал У меня такое же ограничение. Кроме того, если значение не может быть нулевым, это необходимо для предотвращения того, чтобы что-то вроде get() запускало NPE, тогда почему HashMap тоже не перезапустил.
Подробнее здесь: https://stackoverflow.com/questions/786 ... nt-be-null