每天資訊java list for迴圈刪除資料

菜單

java list for迴圈刪除資料

java list for迴圈刪除資料

首先來看一段for迴圈list。remove程式碼。

int

pos =

0

for (String

line

lineList) {

String[] info =

line

trim

()。split(

“:”

);

if

(info。length ==

2

) {

pos = lineList。indexOf(

line

);

lineList。remove(

line

);

}

}

上面的程式碼一眼看上去,寫的挺順手,其實這種方式存在問題,刪除元素後繼續迴圈,由於元素使用時發生併發修改,會丟擲異常報錯誤資訊ConcurrentModificationException。但刪除break跳出,則不會觸發報錯。

修改方式:

1、iterator遍歷

Iterator it = lineList。iterator();

while

(it。hasNext()){

String

line

= it。next();

String[] info =

line

trim

()。split(

“:”

);

if

(info。length ==

2

) {

it。remove();

}

}

2、倒序遍歷刪除

for(

int

i=lineList。size()-

1

;i>=

0

;i

——){

String[] info = lineList。get(i)。

trim

()。split(

“:”

);

if

(info。length ==

2

) {

lineList。remove(i);

}

}