在Java 8中,可以使用Stream API将List中的对象元素遍历出来并放入Map中。下面是一种常见的方式:

假设有一个包含Person对象的List,每个Person对象都有唯一的ID和对应的姓名。我们想要将这些Person对象遍历出来,并根据ID作为Key,姓名作为Value,放入一个Map中。

首先,确保Person类具有getId()和getName()方法,用于获取ID和姓名。

然后,使用Stream的collect()方法,结合Collectors.toMap()方法,可以将List中的对象元素按照指定的Key和Value映射关系收集到Map中。

以下是示例代码:

import java.util.*;
import java.util.stream.Collectors;

class Person {
    private int id;
    private String name;

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

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }
}
public class Main {
    public static void main(String[] args) {
        List<Person> personList = Arrays.asList(
                new Person(1, "John"),
                new Person(2, "Alice"),
                new Person(3, "Bob")
        );

        Map<Integer, String> idToNameMap = personList.stream()
                .collect(Collectors.toMap(Person::getId, Person::getName));

        System.out.println(idToNameMap);
    }
}

运行以上代码,输出结果为:

{1=John, 2=Alice, 3=Bob}

在这个示例中,我们使用了Stream的collect()方法,将List中的Person对象遍历出来并按照指定的Key和Value映射关系收集到Map中。使用Person::getId作为Key提取器,Person::getName作为Value提取器。最终得到一个包含ID和姓名映射关系的Map。

你可以根据具体的需求修改代码,替换Person类的属性和提取器方法,以及要放入Map中的Key和Value。


今夜有点儿凉
40 声望3 粉丝

今夜有点儿凉,乌云遮住了月亮。