zoukankan      html  css  js  c++  java
  • 遍历删除List中的元素,会报错?

    经常会碰到遍历集合,然后删除里面的对象报错, 纠结半天, 百度了一下,有大神说不能用for-each,  for , 只能用迭代器,真的吗?  我就删成功了呢,看代码,请大神们指正! 

    public static void main(String[] args) {
            //添加
            List<String> names = new ArrayList<String>();
            names.add("张三");
            names.add("李四");
            names.add("王五");
    
            // 遍历显示
            for (int i = 0; i < names.size(); i++) {
                System.out.println(names.get(i));
            }
            
            //查找
            if (names.indexOf("李四") >= 0 ){
                System.out.println("李四的位置是:"+ names.indexOf("李四"));
            }
                
    //-------------失败--------
            // foreach删除:报错
    //        for (String name: names){
    //            names.remove(name);
    //        }
            
            // 从小到大删除 0-》1-》2:失败!
    //        names.remove(0);
    //        names.remove(1);
    //        names.remove(2);
    //-------------失败--------    
            
            
            // 从大到小删除 2-》1-》0:成功!
            names.remove(2);
            names.remove(1);
            names.remove(0);
            
            // 重新添加新内容
            names.add("aaaaaaa");
            names.add("bbbbbbb");
            names.add("bbbbbbb");
            
            // 遍历并删除:从大到小循环删除
            for (int i = names.size(); i > 0; i--) {
                names.remove(i-1);
            }
            names.add("99999");
            names.add("88888");
            names.add("77777");
            
            //使用迭代器删除
            Iterator<String> iterator = names.iterator();
            while(iterator.hasNext()){
                iterator.next();
                iterator.remove();
            }
            
            if (names.isEmpty()) {
                System.out.println("集合为空");
            }
        }
  • 相关阅读:
    在dotnet下用c#编写下载器(转载)
    hdu 1176
    hdu 1231(最大连续子序列)
    hdu 2571
    hdu 1087(最大递增子序列)
    hdu 1506(dp)
    hdu 1069
    hdu 2084(数塔经典dp)
    hdu 2602(01背包)
    hdu 1505
  • 原文地址:https://www.cnblogs.com/sunxi2003/p/5891192.html
Copyright © 2011-2022 走看看