对于如何使用Java8Lambdas将对象添加到另一个列表中,我有一个疑问。
让我解释一下:
我有以下对象:
类对象:
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());
}
}
}
总的来说:-我想在我的课程列表中找到学生的名字
这可能是您的问题的一个可能的解决方案:
代码:
courseList.stream()
.map(Course::getStudentList)
.flatMap(Collection::stream)
.filter(student -> student.getStudentName().equals(name))
.findFirst()
.map(Student::getSubjectList)
.ifPresent(subjectList -> subjectList.add(
Subject.newBuilder()
.subjectName(infoName)
.details("fofofofof")
.value(10.0)
.build())
);
说明:
. map(Cours-e::getstuentList)
将转换输入List
注意事项:
如下所示的方法调用:Course::getStudentList
就是所谓的方法引用。在这里阅读更多关于他们的信息
很抱歉这太模糊了,但代码太多了。 这是一个五卡梭哈游戏。基本上,我试图将对象添加到另一个数组列表中的数组列表中。 这是我创建玩家数组并将手类中的数组添加到其中的地方,至少我认为这就是正在发生的事情: 稍后,我尝试在循环交易中将牌添加到玩家阵列中的手牌阵列中。由于有五张牌,第一个循环进行了五次。第二个是玩家数组的长度(玩家总数),每次应该添加一张卡。 Deck类中有一个deal方法,由以下方法初始化
问题内容: 我有SourceObjects列表,我需要将其转换为ResultObjects列表。 我可以使用ResultObject的方法将一个对象获取到另一个对象: 我当然可以这样: 但对于能够展示如何使用 rxJava 进行相同操作的人,我将非常感激。 问题答案: 如果发出,则可以使用以下运算符: (将您的列表转换为可观察项) (将您的商品转换为其他商品) 运算符(将完成的Observable
我试图迭代一个ArrayList并使用规则中的jboss drools添加到另一个ArrayList。 我的规则如下。 用口水怎么做?
我是java新手,我正试图编写我的第一个“更大”的程序,包含几个类。我在类“CompetitionProgram”中创建了一个ArrayList并将其声明为private。 我的程序中需要这两个类(Event&ListOfEvents),这是需求之一。事件--它只是表示事件本身,比如事件名称和尝试次数(它是一个体育事件)。和ListOfEvents--它表示列表本身,并包含用于添加事件、删除事件和
我在从一个表中插入一个列的值作为另一个表中的列时遇到了麻烦。我在col1中有一些值的表A:和另一个列等于col1值的表B。 我想把表A,col1中的其余值添加为表B中的列。请帮助我解决我的问题。我正在使用SQL server 2012。
我想用不同的ID将学生添加到studentList中。我无法在for循环中创建学生,因为创建一个学生需要太长的时间。我发现有一个克隆方法,但学生对象有许多字段(其中大多数引用另一个对象)。有什么想法吗?