Map<Long, Project> pidProjectMap = projects.stream().distinct().collect(Collectors.toMap(Project::getPid, Function.identity(), (k1, k2) -> k1));
1.第一个参数Project::getPid表示选择Project的getPid作为map的key值;
2.第二个参数Function.identity()返回一个输出跟输入一样的Lambda表达式对象,等价于形如t -> t
形式的Lambda表达式;
3.第三个参数(k1, k2) -> k1中,如果k1与k2的key值相同,选择k1作为那个key所对应的value值