我有两个对象:
public class ObjectOne {
private String id;
private String name;
private String school;
private String score; //Default score is null
..getters and setters..
}
public class ObjectTwo {
private String id;
private String marks;
..getters and setters..
}
Run Code Online (Sandbox Code Playgroud)
而且,我有上述对象的两个列表,
List<ObjectOne> listOne;
List<ObjectTwo> listTwo;
Run Code Online (Sandbox Code Playgroud)
如果ID相等,如何根据标准比较两个列表并为listOne的得分分配listTwo的分数。我知道,我们可以使用两个for循环来做。但是我想使用Java8流来实现它。
List<ObjectOne> result = new ArrayList<>();
for(ObjectOne one : listOne) {
for(ObjectTwo two : listTwo) {
if(one.getId().equals(two.getId())) {
one.setScore(two.getmarks());
result.add(one);
}
}
}
return result;
Run Code Online (Sandbox Code Playgroud)
如何使用Java8 lambda和流实现此功能?