list转map(根据某个或多个属性分组)

需要将对应的list换成本地list,和对象换成本地对象

1、List转Map<String,List>

java 复制代码
// 根据一个字段分组
Map<String, List<String>> map = objectLists.stream()
                .collect(Collectors.groupingBy(
                        Object::getName,
                        Collectors.mapping(Object::getId, Collectors.toList())));

// 根据多个字段分组
Map<String, List<Object>> groupMap = objectLists.stream().collect(
                Collectors.groupingBy(s->s.getId()+s.getName()));


// 把某属性作为key,对应的Object对象作为value     	   
Map<String, List<Object>> groupMap = objectLists.stream().collect(
                Collectors.groupingBy(Object::getName));

2、List转Map<String,List>

java 复制代码
Map<String, List<String>> studentMap = studentList.stream()
                .collect(Collectors.groupingBy(
                        Object::getId,
                        Collectors.mapping(Object::getName, Collectors.toList())
                ));
相关推荐
青云交9 分钟前
Java 大视界 -- 基于 Java 的大数据可视化在企业生产运营监控与决策支持中的应用
java·echarts·数据采集·实时监控·大数据可视化·智能决策·企业生产运营
迦蓝叶13 分钟前
Apache Jena:利用 SPARQL 查询与推理机深度挖掘知识图谱
java·数据挖掘·apache·知识图谱·查询·知识挖掘·推理机
缺点内向13 分钟前
Java: 为PDF批量添加图片水印实用指南
java·开发语言·pdf
重整旗鼓~39 分钟前
38.附近商户实现
java·开发语言
期待のcode1 小时前
Springboot主配置文件
java·spring boot·后端
亲爱的马哥1 小时前
填鸭表单!开箱即用的开源问卷调查系统!
java·前端·低代码·产品经理
❀͜͡傀儡师1 小时前
JDK 25 新特性速览
java·开发语言
ayaya_mana1 小时前
Linux告别搜索卡顿:解决“Argument list too long”与实现文件内容秒搜
linux·运维·list
兮动人1 小时前
主流JDK版本支持时间
java·开发语言·主流jdk版本支持时间