循环删除List集合中的实体类元素

一、首先基本的for循环,但也是最容易出错的地方
for(int i=0;i if(list.get(i).getName().equals(“aaa”)){
list.remove(i);
}
}
remove()方法删除元素后会立刻更新List的size,因此index也发生了变化,会导致漏掉某些元素。解决办法1、在删除某一个元素后直接break,当然这种情况只适合删除一个特定元素,不适合删除多个元素。解决办法2、index回退一位。

所有使用Iterator,是最优解决方法

Iterator it = list.iterator();
while(it.hasNext()){
User x = it.next();
if(x.getName().equals(“aaa”)){
it.remove();
}
}

你可能感兴趣的:(java)