Java 中对象List 转map实践

java 复制代码
class MyObject {
    Long id;
    String name;

    // Constructor
    public MyObject(Long id, String name) {
        this.id = id;
        this.name = name;
    }

    // Getters
    public Long getId() {
        return id;
    }

    public String getName() {
        return name;
    }
}

第一种 List 转 Map<Long, String>

java 复制代码
List<MyObject> myObjectList=new ArrayList<>();
//  自行赋值

 Map<Long, String> map = myObjectList.stream()
 					.collect(Collectors.toMap(
                            MyObject::getId,   // key mapper
                            MyObject::getName// value mapper
                    ));

第二种 List 转 Map<Long, List>

java 复制代码
List<MyObject> myObjectList=new ArrayList<>();
//  自行赋值

 Map<Long, List<String>>  map = myObjectList.stream()
                        .collect(Collectors.groupingBy(
                                MyObject::getId, // key mapper
                                Collectors.mapping(MyObject::getName, Collectors.toList()) // value mapper
                        ));
相关推荐
yaoxin5211235 小时前
434. Java 日期时间 API - Period 基于日期的时间段
java·开发语言·python
凡人叶枫5 小时前
Effective C++ 条款30:透彻了解 inlining 的里里外外
linux·开发语言·c++·嵌入式开发·effective c++
学逆向的5 小时前
C++纯虚函数
开发语言·c++·网络安全
何极光5 小时前
IDEA集成Maven
java·maven·intellij-idea
程序员二叉6 小时前
【JUC】ThreadLocal底层原理|内存泄漏|弱引用|跨线程传递方案
java·开发语言·面试·职场和发展·juc
程序员二叉6 小时前
【JUC】线程池全套深度详解|参数|流程|拒绝策略|调优|异常处理
java·开发语言·jvm·算法·面试·juc
老马识途2.06 小时前
在AI的帮助下理解spring的启动过程
java·前端·spring
青山木6 小时前
Hot 100 --- 轮转数组
java·数据结构·算法
凡人叶枫7 小时前
Effective C++ 条款22:将成员变量声明为 private
linux·开发语言·c++
Qt程序员7 小时前
掌握 Linux 内核调度:从原理到实现(进程篇)
java·开发语言