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())
                ));
相关推荐
不带刺仙人球1 小时前
list.stream().collect例子
java·list·dubbo
星轨初途1 小时前
数据结构排序算法详解(5)——非比较函数:计数排序(鸽巢原理)及排序算法复杂度和稳定性分析
c语言·开发语言·数据结构·经验分享·笔记·算法·排序算法
小杰帅气1 小时前
红黑树实现
数据结构
Carve_the_Code2 小时前
分布式订单系统:订单号编码设计实战
java·后端
Home2 小时前
23种设计模式之代理模式(结构型模式二)
java·后端
程序员西西2 小时前
详细介绍Spring Boot中用到的JSON序列化技术?
java·后端
雨中飘荡的记忆2 小时前
MySQL 优化实战
java·mysql
豆豆的java之旅2 小时前
深入浅出Activity工作流:从理论到实践,让业务流转自动化
java·运维·自动化·activity·工作流
一点 内容2 小时前
深度解析OurBMC后端模式:全栈技术架构与运维实践
java·开发语言
q***23572 小时前
MySQL 篇 - Java 连接 MySQL 数据库并实现数据交互
java·数据库·mysql