【发布时间】:2021-06-13 06:44:40
【问题描述】:
我正在处理一个问题,我需要迭代一个 N 大小的数组列表并与另一个列表进行比较,对于所有匹配的元素,我需要在其上设置一些数据。下面给出了示例和我到目前为止所尝试的内容。
List<Emp> emp= new ArrayList<>();
List<Student> stud = new ArrayList<>();
class Emp -> int id, String status, String name;
class Student -> int id, String studStatus, String name;
如果学生和员工的 id 匹配,则使用一些默认值更新 emp 状态。
到目前为止,我尝试了此代码,但它并没有帮助我获得所需的结果。纠正我在这里做错了什么?
stud.stream().filter(i -> emp.stream().filter(j ->
j.getId().equals(i.getId()))
.map(i -> i.setStatus(Status.PASS)));
【问题讨论】:
-
请提供实际代码而不是伪代码,并阅读stackoverflow.com/editing-help以帮助格式化。
-
使用列表迭代器甚至只是一个 for 循环都可以。
-
我刚刚格式化了代码..抱歉!
标签: java data-structures java-8 java-stream