Как я могу избежать нелегального статового процесса: дублировать ключ в Java Streams?JAVA

Программисты JAVA общаются здесь
Anonymous
Как я могу избежать нелегального статового процесса: дублировать ключ в Java Streams?

Сообщение Anonymous »

Я пытаюсь преобразовать список объектов в карту с использованием потоков Java:
List list = List.of("a", "b", "a");
Map map = list.stream()
.collect(Collectors.toMap(s -> s, String::length));
< /code>
Это бросает: < /p>
java.lang.IllegalStateException: Duplicate key a (attempted merging values 1 and 1)
< /code>
Я ожидал, что она просто создаст карту с уникальными ключами, но я забыл, что в моем списке есть дубликаты. Как правильный способ справиться с этим, если могут произойти дубликаты? Есть ли способ объединить их или просто сохранить первый?


Подробнее здесь: https://stackoverflow.com/questions/796 ... va-streams

Вернуться в «JAVA»