Записи списка групп Java Streams основаны на свойстве, но собирают свойство объекта в Map - PullRequest
0 голосов
/ 11 сентября 2018

Извините за странное название.По сути, я пытаюсь сделать следующее.Допустим, у меня есть класс Details.

class Detail{
        String title;
        Project project;
}

Использование потоков, как вы можете видеть, я могу сгруппировать Detail по их заголовкам.Однако я хочу сгруппировать проекты внутри этих деталей по названию, а не по деталям.

List<Detail> results; // not empty    
Map<String, List<Detail>> res = results
                    .stream()
                    .collect(groupingBy(Detail::getTitle));

Заранее спасибо

1 Ответ

0 голосов
/ 11 сентября 2018

Использование Collectors.mapping:

Map<String, List<Project>> res = results
    .stream()
    .collect(Collectors.groupingBy(
        Detail::getTitle,
        Collectors.mapping(Detail::getProject, Collectors.toList())));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...