在Java8之前,在遍历列表的同时,去掉列表中包含某个特定字段的元素的做法,会报并发错误;
但是在Java8中完美的解决了这个问题:
public class Person {
private Integer age;
private String name;
public void setAge(Integer age){
this.age = age;
}
public Integer getAge(){
return this.age;
}
public void setName() {
this.name = name;
}
public String getName() {
return this.name;
}
}
List<Person> lists = new ArrayList<>();
lists.add(new Person(18, "zs"));
lists.add(new Person(19, "ls"));
lists.add(new Person(20, "ww"));
//使用removeIf方法,-> 右边是判断条件,如果符合这个条件就删除。这里会删除name为ls的元素
lists.removeIf((e) -> e.getName() == "ls");