List列表刪除值為指定字段


需要處理一個場景,當值為某一個固定值或者為空的時候,刪除列表中的這個值。

//1.for循環刪除
for
(int i=0;i<list.size();i++){ if(list.get(i).equals("del")) list.remove(i); }

但是直接使用list.remove(i)這個方法的時候,刪除第一個繼續根據索引訪問第2個元素時,因為刪除的關系后面的元素都往前移動了一位,所以實際訪問的是第3個元素。因此,這種方式可以用在刪除特定的一個元素時使用,但不適合循環刪除多個元素時使用。

//2.iterator遍歷,查出對應值,做對應操作
Iterator<String> it = list.iterator();
while(it.hasNext()){
    String x = it.next();
    if(x.equals("del")){
        it.remove();
    }
}

這個時候就可以使用第二種方法,我們找到對應的值,全部給remove掉,這樣就不會受索引的影響。

 


免責聲明!

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



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