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())
                ));
相关推荐
Mr.Entropy6 分钟前
JdbcTemplate 性能好,但 Hibernate 生产力高。 如何选择?
java·后端·hibernate
菜鸟233号8 分钟前
力扣96 不同的二叉搜索树 java实现
java·数据结构·算法·leetcode
sww_102616 分钟前
Spring-AI和LangChain4j区别
java·人工智能·spring
泡泡以安19 分钟前
【爬虫教程】第7章:现代浏览器渲染引擎原理(Chromium/V8)
java·开发语言·爬虫
月明长歌21 分钟前
Java进程与线程的区别以及线程状态总结
java·开发语言
汪不止27 分钟前
使用模板方法模式实现可扩展的动态查询过滤器
java·模板方法模式
Facechat30 分钟前
视频混剪-时间轴设计
java·数据库·缓存
空空潍1 小时前
hot100-最小覆盖字串(day12)
数据结构·算法·leetcode
蝎子莱莱爱打怪1 小时前
我的2025年年终总结
java·后端·面试
沛沛老爹1 小时前
Web开发者5分钟上手:Agent Skills环境搭建与基础使用实战
java·人工智能·llm·llama·rag·agent skills