java8stream操作:将集合转化为集合元素中属性为key的

        List students = new ArrayList<>();

        students.add(new Student(1,"张三",90));
        students.add(new Student(2,"李四",90));
        students.add(new Student(3,"王五",90));
        students.add(new Student(4,"赵六",90));

        Map nameMap = students.stream().collect(Collectors.toMap(Student::getId, Student::getName));

此时生产的map的key为Student的id,value为name。如果要将value改为Student:

        Map collect = students.stream().collect(Collectors.toMap(Student::getId, o -> o));

student类也给上:

public class Student {

    private int id;
    private String name;
    private int score;

    public Student(int id, String name, int score) {
        this.id = id;
        this.name = name;
        this.score = score;
    }
get...
set...
}

你可能感兴趣的:(代码库)