lambda表达式对两个List进行循环,根据符合条件,进行相关的赋值操作

代码实现:

package com.gwh.pojo;

/**
 * 学生
 */
public class Student {
    //学号
    private String number;
    //班级
    private String clazzNo;
    //姓名
    private String name;
    //年龄
    private int age;

    public Student(String number, String name, int age) {
        this.number = number;
        this.name = name;
        this.age = age;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public String getClazzNo() {
        return clazzNo;
    }

    public void setClazzNo(String clazzNo) {
        this.clazzNo = clazzNo;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "number='" + number + '\'' +
                ", clazzNo='" + clazzNo + '\'' +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

package com.gwh.pojo;

/**
 * 班级
 */
public class Clazz {
    //班级号
    private String clazzNo;
    //学生学号
    private String studentNumber;

    public String getClazzNo() {
        return clazzNo;
    }

    public void setClazzNo(String clazzNo) {
        this.clazzNo = clazzNo;
    }

    public String getStudentNumber() {
        return studentNumber;
    }

    public void setStudentNumber(String studentNumber) {
        this.studentNumber = studentNumber;
    }

    public Clazz(String clazzNo, String studentNumber) {

        this.clazzNo = clazzNo;
        this.studentNumber = studentNumber;
    }
}

package com.gwh.pojo;

import java.util.ArrayList;
import java.util.List;

/**
 * 测试类
 */
public class Test {

    public static void main(String[] args) {
        List students=new ArrayList();
        Student s1=new Student("202008310101","李星云",20);
        Student s2=new Student("202008310102","陆林轩",18);
        Student s3=new Student("202008310201","常宣灵",25);
        Student s4=new Student("202008310202","常昊灵",25);
        Student s5=new Student("202008310301","杨焱",25);
        Student s6=new Student("202008310302","杨淼",25);
        students.add(s1);
        students.add(s2);
        students.add(s3);
        students.add(s4);
        students.add(s5);
        students.add(s6);
       List clazzes=new ArrayList();
       Clazz c1=new Clazz("01","202008310101");
       Clazz c2=new Clazz("01","202008310102");
       Clazz c3=new Clazz("02","202008310201");
       Clazz c4=new Clazz("02","202008310202");
       Clazz c5=new Clazz("03","202008310301");
       Clazz c6=new Clazz("03","202008310302");
        clazzes.add(c1);
        clazzes.add(c2);
        clazzes.add(c3);
        clazzes.add(c4);
        clazzes.add(c5);
        clazzes.add(c6);
        for (Clazz clazz:clazzes){
            students.stream().filter(s ->s.getNumber().equals(clazz.getStudentNumber())).forEach(s -> s.setClazzNo(clazz.getClazzNo()));
        }
       students.forEach(System.out::println);


    }

}

结果:
lambda表达式对两个List进行循环,根据符合条件,进行相关的赋值操作_第1张图片

你可能感兴趣的:(java,lambda)