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())
                ));
相关推荐
张柏慈4 小时前
Java性能优化:实战技巧与案例解析
java
天“码”行空4 小时前
简化Lambda——方法引用
java·开发语言
带刺的坐椅5 小时前
MCP 进化:让静态 Tool 进化为具备“上下文感知”的远程 Skills
java·ai·llm·agent·solon·mcp·tool-call·skills
java1234_小锋5 小时前
Java线程之间是如何通信的?
java·开发语言
张张努力变强5 小时前
C++ Date日期类的设计与实现全解析
java·开发语言·c++·算法
沉默-_-5 小时前
力扣hot100滑动窗口(C++)
数据结构·c++·学习·算法·滑动窗口
while(1){yan}6 小时前
Spring事务
java·数据库·spring boot·后端·java-ee·mybatis
漫随流水6 小时前
leetcode回溯算法(78.子集)
数据结构·算法·leetcode·回溯算法
全栈游侠6 小时前
数据结构 - 链表
数据结构·链表
一生只为赢6 小时前
通俗易懂:ARM指令的寻址方式(三)
运维·arm开发·数据结构·嵌入式实时数据库