使用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多平台发布

相关推荐
222you6 分钟前
SpringBoot对SpringMVC的整合
java·spring boot·后端
刘一说16 分钟前
深入理解 Spring Boot 高级特性:条件化 Bean 注册机制
java·spring boot·后端
用户693717500138416 分钟前
Kotlin 函数详解:命名参数与默认参数值
android·后端·kotlin
启山智软17 分钟前
使用 Spring Boot + Vue.js 组合开发多商户商城(B2B2C平台)是一种高效的全栈技术方案
vue.js·spring boot·后端
用户905558421480524 分钟前
请求失败溯源Netty关闭连接源码流程
后端
踏浪无痕30 分钟前
准备手写Simple Raft(一):想通Raft的核心问题
分布式·后端
00后程序员36 分钟前
Charles抓包实战,开发者如何通过流量分析快速定位系统异常?
后端
用户685453759776939 分钟前
为什么你的volatile总出bug?因为你没搞懂内存屏障这回事儿 🤯
后端
秧歌star5191 小时前
救命!Spring 启动又崩了?!循环依赖又踩坑
后端