genobis
8/23/2017 - 9:43 AM

Collectors.groupingBy(), Collectors.mapping() - grupowanie według pola + przekształcenie obiektu grupowanego

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()
            )
        )
    );