刚开始想到用list.remove(i),后面打印数据发现很多并没有移除掉,然后查了一下百度才知道原因,
然后发现最好的方法是使用迭代删除,代码如下,
//准备数据
List<Student> list = new ArrayList<>();
list.add(new Student("male"));
list.add(new Student("female"));
list.add(new Student("female"));
list.add(new Student("male"));
//遍历删除,除去男生
Iterator<Student> iterator = list.iterator();
while (iterator.hasNext()) {
Student student = iterator.next();
if ("male".equals(student.getGender())) {
iterator.remove();//使用迭代器的删除方法删除
}
}