猿问

地图和 Groupby 一口气

我有一个模型类如下:


public class CCP implements Serializable{


    private static final long serialVersionUID = 1L;


    @Id

    @Column(name = "p_id")

    private Integer pId;


    @Id

    @Column(name = "c_id")

    private Integer cId;


    @Column(name = "priority")

    private Integer priority;


}

我有以下要求:


转换List<CCP>成Map<pid, List<cid>>

也就是说,我想将 CCP 对象列表转换为以 pid 为键、以关联 cid 列表为值的映射。


我尝试了以下事情:


Map<Integer, List<CCP>> xxx = ccplist.stream()

                .collect(Collectors.groupingBy(ccp -> ccp.getPId()));

但这仅给出了 CCP 的列表。


我如何在此处获取 cid 列表而不是 CCP?


偶然的你
浏览 148回答 2
2回答

梵蒂冈之花

使用mapping:Map<Integer,&nbsp;List<Integer>>&nbsp;xxx&nbsp;=&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;ccplist.stream() &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.collect(Collectors.groupingBy(CCP::getPId, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Collectors.mapping(CCP::getCId, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Collectors.toList())));

月关宝盒

ccplist.stream() &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.collect(Collectors.groupingBy( &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CCP::getPId, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Collectors.mapping(CCP::getCId,&nbsp;Collectors.toList())));
随时随地看视频慕课网APP

相关分类

Java
我要回答