Bootstrap

Java中for循环删除元素

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();
    }
}

结论:这种方式可以正常的循环及删除。

;