在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