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

相关推荐
毕设源码-钟学长6 小时前
【开题答辩全过程】以 基于SpringBoot的智能书城推荐系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
青春男大7 小时前
Redis和RedisTemplate快速上手
java·数据库·redis·后端·spring·缓存
张张努力变强8 小时前
C++ 类和对象(四):const成员函数、取地址运算符重载全精讲
开发语言·数据结构·c++·后端
不吃香菜学java9 小时前
springboot左脚踩右脚螺旋升天系列-整合开发
java·spring boot·后端·spring·ssm
奋进的芋圆11 小时前
Java 锁事详解
java·spring boot·后端
郑州光合科技余经理11 小时前
技术架构:海外版外卖平台搭建全攻略
java·大数据·人工智能·后端·小程序·架构·php
科威舟的代码笔记11 小时前
SpringBoot配置文件加载顺序:一场配置界的权力游戏
java·spring boot·后端·spring
血小板要健康12 小时前
Spring IoC & DI (下)
java·前端·spring boot·后端·spring·servlet·java-ee
PP东12 小时前
Flowable学习(一)——spring boot 部署
后端·学习·flowable
问今域中12 小时前
Acwing的SpringBoot项目总结
java·spring boot·后端