日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

java list移除所有元素,从List中移除指定 List 中包含的其所有元素(可选操作)。...

發布時間:2025/3/19 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java list移除所有元素,从List中移除指定 List 中包含的其所有元素(可选操作)。... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

從List中移除指定 List 中包含的其所有元素,這個當然用List里面的removeAll方法了,但是有朋友說能不能不用removeAll呀

于是我就寫了如下代碼:

class="java" name="code">List l = ...;

List list = ....;

for(int i=0;i

String s = l.get(i);

if(list.contains(s)){

l.remove(s);

}

}

?因為兩個list讀取的文件,運行后看著沒什么錯,后來無聊用了removeAll,發現結果不一樣。

看代碼沒什么問題呀,后來經過反復實驗,終于發現原來:List每remove掉一個元素以后,后面的元素都會向前移動,此時如果執行i=i+1,則剛剛移過來的元素沒有被讀取。

解決方法:

在remove掉一個元素后,把i減1,代碼如下:

List l = ...;

List list = ....;

for(int i=0;i

String s = l.get(i);

if(list.contains(s)){

l.remove(s);

i--;

}

}

?百度之后又發現另外兩種方法:

1、倒過來遍歷list

List l = ...;

List list = ....;

for(int i=l.length;i>=0;i--){

String s = l.get(i);

if(list.contains(s)){

l.remove(s);

}

}

?

2、使用iterator.remove()方法刪除

List l = ...;

List list = ....;

for (Iterator it = list.iterator(); it.hasNext();) {

String s = (String)it.next();

if (list.contains(s)){

it.remove();

}

}

?

總結

以上是生活随笔為你收集整理的java list移除所有元素,从List中移除指定 List 中包含的其所有元素(可选操作)。...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。