国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java集合迭代器Iterator中的remove陷阱

2019-11-26 14:23:42
字體:
來源:轉載
供稿:網友

package TestList;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.TreeSet;

public class TestIterator {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        List<String> list = new ArrayList<String>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        Iterator t = list.iterator();
        while(t.hasNext()){
            if(t.next().equals("bbb")){   //使用iterator遍歷list集合時,如果想要刪除任一集合內元素,必須要在正好遍歷倒數第二個元素的時候去刪除
                list.remove("ccc");
            }
        }
        
        TreeSet<String> set = new TreeSet<String>();
        set.add("ddd");
        set.add("eee");
        set.add("fff");
        Iterator t1 = set.iterator();
        while(t1.hasNext()){
            if(t1.next().equals("fff")){  //使用iterator遍歷set集合時,如果想要刪除任一集合內元素,必須要在正好遍歷倒數第一個元素的時候去刪除
                set.remove("eee");
            }
        }
    }

}

由于List,Set在實現Iterator時存在一定的差異,因此導致了List,Set在迭代的同時刪除集合元素的會有不同的表現

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴城市| 清苑县| 安阳市| 文昌市| 陵川县| 闵行区| 昆山市| 松江区| 巴中市| 民乐县| 长垣县| 文水县| 社旗县| 遵义市| 洪江市| 新兴县| 珠海市| 桐乡市| 邯郸县| 措美县| 古蔺县| 桦川县| 久治县| 安远县| 东阳市| 拉萨市| 连山| 崇阳县| 娄烦县| 云霄县| 镇远县| 科尔| 弥勒县| 宜宾市| 旺苍县| 静乐县| 怀来县| 张家港市| 元阳县| 德昌县| 临沂市|