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

相关推荐
追逐时光者14 分钟前
一个致力于为 C# 程序员提供更佳的编码体验和效率的 Visual Studio 扩展插件
后端·c#·visual studio
行百里er2 小时前
用 ThreadLocal + Deque 打造一个“线程专属的调用栈” —— Spring Insight 的上下文管理术
java·后端·架构
玄〤2 小时前
黑马点评中 VoucherOrderServiceImpl 实现类中的一人一单实现解析(单机部署)
java·数据库·redis·笔记·后端·mybatis·springboot
J_liaty2 小时前
Spring Boot拦截器与过滤器深度解析
java·spring boot·后端·interceptor·filter
短剑重铸之日3 小时前
《7天学会Redis》Day2 - 深入Redis数据结构与底层实现
数据结构·数据库·redis·后端
码事漫谈3 小时前
从C++到C#的转型完全指南
后端
码事漫谈3 小时前
TCP心跳机制:看不见的“生命线”
后端
lpfasd1233 小时前
Spring Boot 4.0.1 时变更清单
java·spring boot·后端
梦梦代码精4 小时前
《全栈开源智能体:终结企业AI拼图时代》
人工智能·后端·深度学习·小程序·前端框架·开源·语音识别
Victor3565 小时前
Hibernate(42)在Hibernate中如何实现分页?
后端