剛開始想到用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();//使用迭代器的刪除方法刪除
}
}