Java Streams组列表条目基于属性,但在Map中收集对象的属性

时间:2018-09-11 18:01:49

标签: lambda collections java-8 java-stream

对不起,标题怪异。基本上我想做的如下。 假设我有一个名为Details的类。

df['year'].str.replace(r'(?<=[0-9]{4})\-[0-9]{4}', '')

使用流,如您所见,我能够按其标题对“详细信息”进行分组。但是我想按标题(而不是按明细)在“明细”中对项目进行分组。

class Detail{
        String title;
        Project project;
}

先谢谢

1 个答案:

答案 0 :(得分:3)

使用Collectors.mapping

Map<String, List<Project>> res = results
    .stream()
    .collect(Collectors.groupingBy(
        Detail::getTitle,
        Collectors.mapping(Detail::getProject, Collectors.toList())));