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())
                ));
相关推荐
摇滚侠17 小时前
登录认证,验证码实现逻辑
java·intellij-idea
老毛肚17 小时前
java juc 01 进程与线程
java·开发语言
1candobetter17 小时前
JAVA后端开发——反射机制在Spring业务开发中的实际应用
java·开发语言·spring
野犬寒鸦17 小时前
WebSocket协同编辑:高性能Disruptor架构揭秘及项目中的实战应用
java·开发语言·数据库·redis·后端
橙露18 小时前
排序算法可视化:用 Java 实现冒泡、快排与归并排序的对比分析
java·python·排序算法
靠沿18 小时前
【优选算法】专题二——滑动窗口
java·数据结构·算法
鸡蛋豆腐仙子18 小时前
redis及实现分布式锁的原理
java·redis·分布式·学习·缓存
好家伙VCC18 小时前
# 发散创新:基于Solidity的DeFi协议设计与实现——从原理到实战代码解析在区块链世界中,**DeFi(去中心化金
java·python·去中心化·区块链
H Corey18 小时前
Java字符串操作全解析
java·开发语言·学习·intellij-idea
阿猿收手吧!18 小时前
【数据结构】高效掌握并查集:核心原理与实战
数据结构·算法