使用流转换嵌套for循环逻辑

s4n0splo  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(333)

我有一套代码,我想执行使用流我已经做了使用for循环,但不能做它使用流或其他更好的方法请建议

for (Student student : students) {
        List<Laptop> filteredLaptop = new ArrayList<>();
        for (Laptop laptop: student.getLaptopList()) {
            if(laptop.getColour().endsWith("RED")){
                filteredLaptop.add(laptop);
            }
        }
        student.setLaptopList(filteredLaptop);
 }

如何降低代码的复杂性,或者如何使用流执行相同的操作

wtzytmuj

wtzytmuj1#

类似这样的东西(我认为最好重命名laptoplist)

students.forEach(student -> 
  student.setLaptops(
    student.getLaptops().stream()
      .filter(laptop -> laptop.getColour().endsWith("RED"))
      .collect(toList())
    )
 );

相关问题