在Java中从集合中过滤元素的简单方法?
2022-09-02 00:09:03
我想编写一个方法,从遵循特定模式的集合中删除所有元素。在函数式语言中,我会将 filter() 与 lambda 表达式一起使用。但是,在Java中,我似乎坚持这一点:
public void removeAllBlueCars() {
LinkedList<Car> carsToRemove = new LinkedList<Car>();
for (Car c : cars) {
if (c.getCarColor() == Color.BLUE) {
carsToRemove.add(c);
}
}
cars.removeAll(carsToRemove );
}
删除元素直接导致并发修改异常。有没有更好的方法来做到这一点,而不诉诸谷歌收藏?