【发布时间】:2017-07-21 12:43:37
【问题描述】:
我对如何使用 Java 8 lambda 将对象添加到另一个列表中的列表中存在疑问。
让我解释一下:
我有以下对象:
类对象:
public class Course{
private String courseNae;
private List<Student> studentList;
/*gets and sets */
}
学生对象:
public class Student{
private String studentName;
private List<Subject> subjectList;
/*gets and sets */
}
主题对象:
public class Subject{
private String subjectName;
private String details;
private double value;
/*gets and sets */
}
我想这样做,但使用 java 8 lambda:
for(Class course: this.courseList){
for(Student std: course.getStudentList()){
if(std.getStudentName().equals(name)) {
std.getSubjectList()
.add(Subject.newBuilder()
.subjectName(infoName)
.details("fofofofof")
.value(10.0)
.build());
}
}
}
一般来说: - 我想在我的课程列表中找到学生姓名
- 找到学生姓名后,我想添加一个新的学科信息 在主题列表中。
【问题讨论】:
-
你尝试过...?
-
这个词是 student,不是 studant。而
class不是有效的变量名。 -
定义
Class类也不是一个好主意,我建议改用Course。 -
我更改了我的帖子,感谢您的反馈
-
您好,请展示一下使用流 API 的努力。请求从命令式到函数式和流式的翻译似乎并不是获得正确答案的最佳方法。做一些研究,尝试一些事情,如果遇到困难,请在这里提问。
标签: java lambda java-8 java-stream