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())
                ));
相关推荐
wabs6669 小时前
关于图论【卡码网117.软件构建的思考】
数据结构·算法·软件构建·图论·卡码网
mifengxing9 小时前
LeetCode 41.缺失的第一个正数|Hard题O(n)+O(1)最优解法深度解析
java·算法·leetcode·排序算法
Tongzhi202610 小时前
从部署到运维:通芝科技无感考勤一体机的全流程效率解析
运维·数据结构·科技·算法·贪心算法
markinmarkin12 小时前
Spring 中Bean 的作用域有哪些?
java·后端·spring
山荷枝13 小时前
Java学习第十天
java·学习
matlabgoodboy13 小时前
计算机毕设代做|Java Python Matlab APP 全套开发设计
java·python·课程设计
程序员雷欧14 小时前
环形缓冲区深度解析:从基础原理到Disruptor源码的全面剖析
java
xiaoqiMikko14 小时前
Dependabot 面板全绿,不代表你的 Tomcat 没洞
java·spring boot
小玮看世界14 小时前
[Python]线段树与二分法
数据结构·算法
前端开发张小七14 小时前
Java 学习笔记 · 第三课:多线程与并发编程(线程、同步、死锁、Lock、乐观锁与悲观锁)
java·后端·程序员