Collectors.groupingBy(), Collectors.mapping() - grupowanie według pola + przekształcenie obiektu grupowanego
public interface Foo {
public String getGroup();
public Bar getBar();
}
//---
final List<Foo> foos = //---
final Map<String,List<Bar>> map = foos
.stream()
.collect(
Collectors.groupingBy(
Foo::getGroup,
Collectors.mapping(
Foo::getBar,
Collectors.toList()
)
)
);