У меня есть карта с ключом как строка и значение как список. Список может иметь 10 уникальных значений. Мне нужно преобразовать эту карту с ключом как Integer и значение как List. Пример, как показано ниже:Потоки Java8: транспонировать карту со значениями как список
Входной сигнал:
"Ключ-1": 1,2,3,4
"Ключ-2": 2,3,4,5
"Ключ-3": 3,4,5,1
Ожидаемый результат:
1: "Ключ-1", "Key-3"
2: "Ключ-1", "Ключ-2"
3: "Ключ-1", "Ключ-2", "Ключ-3"
4: "Ключ-1" "Ключ-2", "Key-3"
5: "Ключ-2", "Key-3"
Я знаю, что использование для петель я могу добиться этого, но я должен был знать не может это делается через streams/lamda в java8.
-Спасибо.
Streams которые лучше подходят для операций без гражданства.Хотя этот ответ верен, он лучше подходит к императивному стилю. Это в основном стратегия цикла OP, но вместо этого заменяется потоком 'forEach'. – 4castle
'forEach' не принадлежит' stream'. Он объявлен в 'Iterable',' list.stream(). ForEach' должен быть 'list.forEach'. –
@ Jean-François Savard: У потоков также есть метод 'forEach', хотя и с немного другой семантикой. – Holger