• 在遍历或者迭代过程中对集合进行增删 都会发生异常(迭代器的并发异常)


    package cn.linklist.demo1;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    public class ListDemo1 {
    
        /**
         * 迭代器的并发异常
         * 增强for循环
         * 在遍历或者迭代过程中对集合进行增删 都会发生异常
         */
        public static void main(String[] args) {
            //fun();
            fun1();
    
        }
        public static void fun(){
                List<String> s=new ArrayList<String>();
                s.add("abc");
                s.add("abc1");
                s.add("abc2");
                s.add("abc3");
                //判断集合中是否有"abc" 假如有 那么把"我爱java" 添加到集合中
                for(int i=0;i<s.size();i++){
                    System.out.println(s.get(i));
                    if(s.get(i).equals("abc")){
                        s.add("我爱java");
                    }
                }
                for(int i=0;i<s.size();i++){
                    System.out.println(s.get(i));
                }
        }
        //异常:java.util.ConcurrentModificationException
        public static void fun1(){
            List<String> s=new ArrayList<String>();
            s.add("abc");
            s.add("abc1");
            s.add("abc2");
            s.add("abc3");
            for(String i:s){
                if(i.equals("abc")){
                    s.add("我爱java");
                }
                System.out.println(s);
                
            }
        }
        //异常:java.util.ConcurrentModificationException
        public static void fun2(){
            List<String> s=new ArrayList<String>();
            s.add("abc");
            s.add("abc1");
            s.add("abc2");
            s.add("abc3");
            Iterator<String> it=s.iterator();
            while(it.hasNext()){
                String s1=it.next();
                if(s1.equals("abc")){
                    s.add("我爱java");
                    System.out.println(s);
                    
                }
            }
        }
    
    }
  • 相关阅读:
    GateWay程序分析02_IAP_FLASH.H
    GateWay程序分析05_WDT.h
    GateWay程序分析03_timer.h
    GateWay程序分析_主函数_02整体流程
    网关系统软件设计_系统需求分析v1
    [收藏]DIV中图片居中
    CSS HACK 手记
    一道题“谁养鱼”的穷举解法。
    简单好用的联动下拉控件(修正)
    权限认证的WEB页面实施
  • 原文地址:https://www.cnblogs.com/qurui1998/p/10572072.html
Copyright © 2020-2023  润新知