Как добавить в мапу с помощью стрима не теряя порядка вхождения?
Мой код
Stream<String> stream = Stream.of(textfile.toLowerCase().split("\\W+")).parallel();
Map<String, Integer> counter = stream.collect(Collectors.toMap(s -> s, s -> 1, Integer::sum));
Стрим ложит в мапу ключ стринг со интовым значение, который считает количество этой стринги в тексте
Проблема в том, что теряется последовательность вхождений
Например, входящая строка:
today is nice day today is
правильный вывод
{today=2, is=2, nice=1, day=1}
мой вывод
{today=2, is=2, day=1, nice=1}
Ответы (1 шт):
Автор решения: IR42
→ Ссылка
Используйте LinkedHashMap
Collectors.toMap(s -> s, s -> 1, Integer::sum, LinkedHashMap::new)