java多List集合通过lambda表达式元素相互赋值
java 多List集合通过lambda表达式元素相互赋值
- demo如下:
import java.io.Serializable; public class Students implements Serializable{ private String name; private String score; private String lesson; public Students() { } public Students(String name, String score,String lesson) { this.name = name; this.score = score; this.lesson = lesson; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getScore() { return score; } public void setScore(String score) { this.score = score; } public String getLesson() { return lesson; } public void setLesson(String lesson) { this.lesson = lesson; } }
import java.io.Serializable; public class Teacher implements Serializable { private String name; private String score; private String lesson; public Teacher() { } public Teacher(String name, String score, String lesson) { this.name = name; this.score = score; this.lesson = lesson; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getScore() { return score; } public void setScore(String score) { this.score = score; } public String getLesson() { return lesson; } public void setLesson(String lesson) { this.lesson = lesson; } }
import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; public class Test1 { public static void main(String[] args) { List<Students> students = new ArrayList<>(3); Students students1 = new Students(); students1.setLesson("语文"); students1.setName("张三"); Students students2 = new Students(); students2.setLesson("数学"); students2.setName("李四"); Students students3 = new Students(); students3.setLesson("英语"); students3.setName("Jackey"); students.add(students1); students.add(students2); students.add(students3); List<Teacher> teachers = new ArrayList<>(3); Teacher teacher1 = new Teacher(); teacher1.setScore("34"); teacher1.setName("吕不韦"); teacher1.setLesson("语文"); Teacher teacher2 = new Teacher(); teacher2.setScore("42"); teacher2.setName("张三丰"); teacher2.setLesson("数学"); Teacher teacher3 = new Teacher(); teacher3.setScore("56"); teacher3.setName("欧阳修"); teacher3.setLesson("英语"); teachers.add(teacher1); teachers.add(teacher2); teachers.add(teacher3); List<Students> list = students.stream() .map(student -> teachers.stream() .filter(teacher -> student.getLesson().equals(teacher.getLesson())) .findFirst() .map(teacher -> { student.setScore(teacher.getScore()); return student; }).orElse(student)) .collect(Collectors.toList()); System.out.println(list.toString()); } }
下一篇:
Java删除文件和文件夹的方式