for循环删除元素 java
1.常用for循环删除元素。
for(int i=0;i<list.size();i++){
if(list.get(i).equals("delele"))
list.remove(i);
}
注:这种方法可以删除元素,但是删除的同时索引在增加,列表的size在减小,导致最后会漏删
2.增强型for循环
for(String s:list){
if(s.equals("delete"))
list.remove(x);
}
注:可删除元素,若删除元素后继续循环则会报ConcurrentModificationException异常。
3.采用迭代器Iterator
Iterator<String> it = list.iterator();
while(it.hasNext()){
String x = it.next();
if(x.equals("delete")){
it.remove();
}
}
结论:这种方式可以正常的循环及删除