List中remove元素的理解


今天寫了個簡單的list中remove元素的方法,結果報錯。。。

List<String> ll = Arrays.asList("1","2","3","4","5");
for (int i=0; i < ll.size(); i++){
    ll.remove(i);
}

報錯,java.lang.UnsupportedOperationException,這個是因為Arrays.asList()返回AbstractList,沒有實現增刪改操作,用如下構造方式解決。

List<String> list = new ArrayList<>(Arrays.asList("1","2","3","4","5"));
for (int i = 0; i < list.size(); i++){
    list.remove(i);
}
System.out.println(list);

注意這種方式並不是把所有元素刪除(list.size())

list = new ArrayList<>(Arrays.asList("1","2","3","4","5"));
for (String s : list){
    list.remove(s);
}
System.out.println(list);

報錯,java.util.ConcurrentModificationException,這個是因為for-each迭代過程中摻雜了修改元素的動作。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM