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())
                ));
相关推荐
最强小杰13 小时前
gpt-5.6-sol 频繁报 503 怎么办?区分容量熔断和限速 429 的排查方法 + 可复用 retry wrapper
java·人工智能·gpt·ai
重生之后端学习15 小时前
283. 移动零[简单]✅
开发语言·数据结构·算法·leetcode·职场和发展
吠品15 小时前
Wine 在 Linux 上运行 Windows 软件完整指南
java·linux·服务器
动词ing16 小时前
【C语言】结构体+文件基础
c语言·开发语言·数据结构
亚历克斯神16 小时前
智能搜索系统的升级复盘——从 Elasticsearch 到混合检索的检索质量提升
java·spring·微服务
金銀銅鐵17 小时前
[Java] 一个方法最多可以有多少个入参?
java·jvm
哭哭啼17 小时前
JAVA服务问题诊断
java·开发语言·jvm
Sayuanni%318 小时前
SpringBoot 从注解到源码:核心知识点总结
java·spring boot·后端
坚定信念,勇往无前18 小时前
Maven 私有仓库-nexus
java
Minner-Scrapy18 小时前
Scrapy 2.17 源码解析:Scheduler 调度器与磁盘/内存双队列
java·爬虫·python·scrapy·网络爬虫·twisted