У меня есть 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. Есть ли хороший "функциональный" способ, который мне не хватает?