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())
                ));
相关推荐
摇滚侠9 分钟前
Mybatis 入门到项目实战 搭建 MyBatis 框架 01-14
java·tomcat·mybatis
Shan120513 分钟前
经典问题——验证栈序列
数据结构·算法
码不停蹄的玄黓42 分钟前
SpringBoot 全局异常处理器实现
java·spring boot·后端
小高学习java1 小时前
事务的边界问题,如何判断数据回滚时机。
java·数据库·后端
何极光1 小时前
Maven安装与配置
java·maven
Ting.~1 小时前
在java中接入百度地图
java·开发语言·dubbo
敲个大西瓜1 小时前
加密算法小解
java
阿维的博客日记1 小时前
怎么样才算是用到了反射呢?有什么关键特征吗
java
wuminyu2 小时前
Java世界中StringTable源码剖析
java·linux·c语言·jvm·c++
一个做软件开发的牛马2 小时前
Spring Boot 自动配置原理揭秘:从 @SpringBootApplication 到手写自定义 Starter
java·后端