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
                        ));
相关推荐
吴声子夜歌几秒前
JavaScript——面向对象
java·开发语言·javascript
钱多多_qdd几秒前
第一次使用mac,安装java相关的东西
java·python·macos
阿kun要赚马内5 分钟前
Python五类数据容器的对比和通用方法
开发语言·python
RE-19016 分钟前
Polars:告别 Pandas 性能瓶颈,用 Rust 驱动的 DataFrame 库处理亿级数据
开发语言·rust·pandas·polars·ai生成
波波0078 分钟前
每日一题:请解释.NET 中的泛型约束是什么
java·面试·.net
2301_793804699 分钟前
C++中的备忘录模式
开发语言·c++·算法
好家伙VCC10 分钟前
# 发散创新:用 Rust 实现高性能事件驱动架构的实践与优化 在现代软件系统中,**事件驱动编程模型**已经成为构
java·开发语言·python·架构·rust
2501_9454235414 分钟前
C++编译期多态实现
开发语言·c++·算法
2401_8796938714 分钟前
设计模式在C++中的实现
开发语言·c++·算法
程序员Ctrl喵16 分钟前
状态管理与响应式编程 —— 驾驭复杂应用的“灵魂工程”
开发语言·flutter·ui·架构