使用java8进行分组

来源:互联网 发布:sql 身份证导出 编辑:程序博客网 时间:2024/06/10 21:55
在开发中会遇到这样的一个场景,按照某一个字段分组,生成一个以分组id为key,组信息是一个list的map,java8中提供了一个方法 
List里面的对象元素,以某个属性来分组,例如,以id分组,将id相同的对象放到一起

Map<Integer, List<UserInfo>> groupBy = appleList.stream().collect(Collectors.groupingBy(UserInfo::getId));

结果:

{1=[UserInfo{id=1, name='张三'}, Apple{id=1, name='李四'}], 2=[UserInfo{id=2, name='王五'}



将list对象转化为map


Map<Integer, UserInfo> groupBy = appleList.stream().collect(Collectors.toMap(UserInfo::getId,userInfo->userInfo));

原创粉丝点击