关于后端:使用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多平台公布

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理