在JDK1.8中,Collection以及其子類新加入了removeIf方法,作用是按照一定規則過濾集合中的元素。
舉例:Person類只有三個成員屬性,分別是姓名name,年齡age和性別gender。現要過濾age大於等於40的求職者。
//求職者的實體類
public class Person {
private String name;//姓名
private Integer age;//年齡
private String gender;//性別
...
//省略構造方法和getter、setter方法
...
//重寫toString,方便觀看結果
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
", gender='" + gender + '\'' +
'}';
}
}
過濾:
Collection<Person> collection = new ArrayList();
collection.add(new Person("張三", 32, "男"));
collection.add(new Person("李四", 19, "女"));
collection.add(new Person("王五", 46, "男"));
collection.add(new Person("趙六", 25, "男"));
//過濾40歲以上的求職者
Iterator<Person> iterator = collection.iterator();
while (iterator.hasNext()) {
Person person = iterator.next();
if (person.getAge() >= 40)
iterator.remove();
}
System.out.println(collection.toString());//查看結果
博客借鑒:https://blog.csdn.net/qq_33829547/article/details/80277956
