zoukankan      html  css  js  c++  java
  • list遍历时删除的坑

     1、测试代码如下:

    public class StrTest {
        public static void main(String[] args) {
            ArrayList<String> list = new ArrayList<>();
            list.add("A");
            list.add("B");
            list.add("C");
            list.add("D");
            for (String item : list) {
                if ("B".equals(item)){
                    list.remove(item);
                }
            }
            System.out.println(list.size());
        }
    }

    输出:

          

    原因:

         

    解决办法:

      

    public class StrTest {
        public static void main(String[] args) {
            ArrayList<String> list = new ArrayList<>();
            list.add("A");
            list.add("B");
            list.add("C");
            list.add("D");
            System.out.println("当前长度:" + list.size());
    
            Iterator<String> iterator = list.iterator();
            while (iterator.hasNext()) {
                String item = iterator.next();
                if ("B".equals(item)) {
                    iterator.remove();
                }
            }
            System.out.println("删除后长度:" + list.size());
        }
    }

    输出:

       

      

  • 相关阅读:
    面向对象高级
    面向对象进阶
    python文件的两种用途
    python常用模块
    模块的搜索路径
    循环导入问题
    模块的导入
    面向过程编程
    函数及嵌套函数调用
    python文件操作详解
  • 原文地址:https://www.cnblogs.com/xingrui/p/10751316.html
Copyright © 2011-2022 走看看