JAVA中循环删除集合中元素的方法
生活随笔
收集整理的這篇文章主要介紹了
JAVA中循环删除集合中元素的方法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
使用Iterator的方式可以順利刪除和遍歷
Iterator<String> it = list.iterator();
while(it.hasNext()){String x = it.next();if(x.equals("del")){it.remove();}
}
這種方式可以正常的循環(huán)及刪除。但要注意的是,使用iterator的remove方法,如果用list的remove方法同樣會(huì)報(bào)上面提到的ConcurrentModificationException錯(cuò)誤。迭代器iterator的remove()方法不僅會(huì)刪除元素,還會(huì)維護(hù)一個(gè)標(biāo)志,用來記錄目前是不是可刪除狀態(tài)。例如,你不能連續(xù)兩次調(diào)用它的remove()方法,調(diào)用之前至少有一次next()方法的調(diào)用。但是要注意的是:list.remove()只是刪除元素,可是不會(huì)改變原有元素的位置。比如有 0 1 2 3 4 5這六個(gè)元素,我刪除掉3這個(gè)元素,則4還是處于第四個(gè)位置,不會(huì)跳到第三個(gè)位置。
4.用一個(gè)List 記錄要?jiǎng)h除的數(shù)據(jù),最后removeAll(List);
List<Integer> removeList = new ArrayList()
for(Integer i : intList)
{ if(i == 13) { removeList.add(i); }
}
//最后
if(removeList.size()>0)
{ intList.removeAll(removeList);
}
?
總結(jié)
以上是生活随笔為你收集整理的JAVA中循环删除集合中元素的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring事务管理-概念部分
- 下一篇: spring事务管理-演示事务的环境准备