zoukankan      html  css  js  c++  java
  • ArrayList用迭代器遍历的过程中是否可以删除数据?

    使用迭代器遍历ArrayList并尝试删除数据:

    public class CollectionApp {
        public static void main(String[] args) {
            List<Integer> list = new ArrayList<>();
            list.add(0);
            list.add(1);
            list.add(2);
            list.add(3);
            list.add(4);
            Iterator<Integer> iterator = list.iterator();
            while (iterator.hasNext()){
                Integer obj = iterator.next();
                if(obj==2){
                    list.remove(obj);
                }
            }
            System.out.println(list.toString());
        }
    }

    删除失败,并抛出如下的异常:

    用循环替代迭代器遍历:

    public class CollectionApp {
        public static void main(String[] args) {
            List<Integer> list = new ArrayList<>();
            list.add(0);
            list.add(1);
            list.add(2);
            list.add(3);
            list.add(4);
           //迭代器用循环替换
            for(int i=0;i<list.size();i++){
                if(list.get(i)==2){
                    list.remove(list.get(i));
                }
            }
            System.out.println(list.toString());
        }
    }

    成功的删除数据

  • 相关阅读:
    ASP.NET 5
    asp.net web api
    PowerShell 常用命令
    WinDbg
    Visual Studio Online
    asp.net authentication
    CoreOS
    解决download.msdn.microsoft.com无法正确解析而无法下载的问题
    nodejs express
    移动平台WEB前端开发技巧汇总
  • 原文地址:https://www.cnblogs.com/junlu/p/14227337.html
Copyright © 2011-2022 走看看