首页 > 解决方案 > 在集合的每个元素上调用函数

问题描述

我们有一份汽车清单——List<Car>

Car{
     String name;
     String year;
     String getName(){ return name;}
     String getYear(){ return year;}
     ...
......
}

对于列表中的每辆车,我们需要调用函数 isVintage(String carName,.....)。
对于上述检查返回 true 的所有汽车都需要收集到一个列表中。
这可以使用 Streams 吗?

标签: javajava-8java-stream

解决方案


您可以执行以下操作:

list.stream()
    .filter(car -> isVintage(car.getName()))
    .collect(Collectors.toList());

假设,list是汽车的清单。


推荐阅读