java迭代器 常用

19         //使用迭代器遍历ArrayList集合
20         Iterator<String> listIt = list.iterator();
21 while(listIt.hasNext()){ 22  System.out.println(listIt.next()); 23  } 24 //使用迭代器遍历Set集合 25 Iterator<String> setIt = set.iterator(); 26 while(setIt.hasNext()){ 27  System.out.println(listIt.next()); 28  } 29 //使用迭代器遍历LinkedList集合 30 Iterator<String> linkIt = linkList.iterator(); 31 while(linkIt.hasNext()){ 32  System.out.println(listIt.next()); 33  }



 因为在你迭代之前,迭代器已经被通过list.itertor()创建出来了,如果在迭代的过程中,又对list进行了改变其容器大小的操作,
那么Java就会给出异常。因为此时Iterator对象已经无法主动同步list做出的改变,Java会认为你做出这样的操作是线程不安全的,
就会给出善意的提醒(抛出ConcurrentModificationException异常)

List<String> list = new ArrayList<String>();
        list.add("张三1");
        list.add("张三2");
        list.add("张三3");
        list.add("张三4");
        
        //使用迭代器遍历ArrayList集合
        Iterator<String> listIt = list.iterator();
        while(listIt.hasNext()){
            Object obj = listIt.next();
            if(obj.equals("张三3")){
                list.remove(obj);
            }
        }

https://www.cnblogs.com/zyuze/p/7726582.html

猜你喜欢

转载自www.cnblogs.com/doyourwant/p/11374974.html