Самый простой способ создать MultiMap из гуавы из потока java8 [дубликат]
На этот вопрос уже есть ответ здесь:
Самый простой способ индексировать коллекцию по свойству элемента, который сам по себе является коллекцией 2 ответау меня естьList<Foo>
и хочуMultimap<String, Foo>
где мы сгруппировалиFoo
х ихgetId()
функция.
Я использую Java 8, и это почти удивительно, что вы можете сделать:
List<Foo> foos = ...
Map<String, List<Foo>> foosById = foos.stream().collect(groupingBy(Foo::getId));
Тем не менее, у меня есть хороший объем кода, который хочетMultiMap<String, Foo>
так что это ничего не спасает, и я снова использую цикл for для создания моей MultiMap. Есть ли хороший "функциональный" способ, которого мне не хватает?