使用JavaStream将List转为Map

有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top

首发博客地址

系列文章地址


使用Java Stream将List转换为Map可以使用Collectors.toMap()方法。toMap()方法接受两个参数,第一个参数是用于提取Map的键的函数,第二个参数是用于提取Map的值的函数。下面是一个示例:

复制代码
import java.util.*;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List<Person> people = Arrays.asList(
                new Person("Alice", 25),
                new Person("Bob", 30),
                new Person("Charlie", 35)
        );

        Map<String, Integer> ageByName = people.stream()
                .collect(Collectors.toMap(Person::getName, Person::getAge));

        System.out.println(ageByName);
    }
}

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}

在上面的示例中,我们有一个Person类表示人员信息,包含姓名和年龄。我们将一个List<Person>转换为一个Map<String, Integer>,其中姓名作为键,年龄作为值。使用Person::getName作为键提取函数,Person::getAge作为值提取函数。最后,我们将结果打印出来。

本文由mdnice多平台发布

相关推荐
咖啡Beans7 分钟前
Python工具DrissionPage推荐
后端·python
华仔啊43 分钟前
工作5年没碰过分布式锁,是我太菜还是公司太稳?网友:太真实了!
java·后端
卿·静1 小时前
Node.js对接即梦AI实现“千军万马”视频
前端·javascript·人工智能·后端·node.js
SamDeepThinking2 小时前
在 Cursor IDE 中配置 SQLTools 连接 MySQL 数据库指南(Windows 11)
后端·ai编程·cursor
武子康2 小时前
大数据-92 Spark 深入解析 Spark Standalone 模式:组件构成、提交流程与性能优化
大数据·后端·spark
青梅主码2 小时前
麦肯锡最新发布报告《想打破生产力天花板吗?重新思考完成工作的方式》:与其一味调整组织结构,不如从根本上简化工作流程,释放更大价值
后端
Python私教2 小时前
源滚滚Rust全栈班v1.02 无符号整数详解
开发语言·后端·rust
绝无仅有2 小时前
面试总结之Nginx 经验常见问题汇总第二篇
后端·面试·github
这里有鱼汤2 小时前
分享7种常见的量化交易策略
后端
绝无仅有3 小时前
面试实战总结之Nginx配置经验第一篇
后端·面试·github