在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 );
}
删除元素直接导致并发修改异常。有没有更好的方法来做到这一点,而不诉诸谷歌收藏?
 
					 
				 
				    		 
				    		 
				    		