刪除JAVA集合中元素的實現程式碼
經常我們要刪除集合中的某些元素。有些可能會這麼寫。
複製程式碼 程式碼如下:
public void operate(list list){
for (Iterator it = ator(); ext();) {
String str = (String)();
if (ls("chengang")){
ve(str);
}
}
}
這種寫法一執行就會報如下異常:
Exception in thread "main" urrentModificationException
at ractList$kForComodification()
因為list在迴圈中的時候是不可以刪除它的元素的。後來我是這樣做的,一種很笨的方法,思路是這樣的':建立一個List專門存放要被刪除的元素,迴圈過後,用veAll方法把元素刪除。程式碼如下:
複製程式碼 程式碼如下:
public void operate(List list){
List removeList= new ArrayList();
for (Iterator it = ator(); ext();) {
String str = (String)();
if (ls("chengang")){
(str);
}
}
veAll(removeList);
}
這樣也確實可以解決問題了,但是方法實在太笨重,其實可以有更簡單的更高效的方法,就是用ve方法,如下:
複製程式碼 程式碼如下:
for (Iterator it = ator(); ext();) {
String str = (String)();
if (ls("chengang")){
ve();
}
}
所以,你對Java的基礎知識瞭解越多,程式碼就會寫得越簡潔。相反如果你的程式碼特別複雜,則方法或設計一定有問題。