我有一个Car类,每个Car类都有一个Wheel类列表,每个Wheel类都有一个整数字段airPressure。
public class Car {
private List<Wheel> wheels;
public List<Wheel> getWheels() {
return wheels;
}
}
public class Wheel {
private int airPressure;
public int getAirPressure() {
return airPressure;
}
}
现在我有一个汽车列表,我必须过滤掉任何车轮的气压大于defaultValue的车辆。我正在过滤汽车,但我需要遍历所有车轮。现在我有这样的代码:
I have: List<Cars> cars, int defaultValue
List<Cars> filteredCars = cars.stream()
.filter(car -> car.getWheels().get(0).getAirPressure() < defaultValue)
.filter(car -> car.getWheels().get(1).getAirPressure() < defaultValue)
.filter(car -> car.getWheels().get(2).getAirPressure() < defaultValue)
...
过滤汽车时如何迭代每辆车的车轮?
答案 0 :(得分:0)
这将只选择带有所有车轮的车辆。气压低于defaultValue
:
List<Car> filteredCars = cars.stream()
.filter(car -> car.getWheels()
.stream()
.allMatch(wheel -> wheel.getAirPressure() < defaultValue))
.collect(Collectors.toList());