A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 雨某某 初级黑马   /  2019-5-30 14:14  /  416 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

并发修改异常&&源码       
        1.指的是在使用迭代器迭代过程中,使用集合修了其长度,抛出并发修改异常
        原理:期望值和修改值不一致 --> 每次修改集合长度,modCount 会变,而期望值不变
        在进行next 方法取出元素时,对应期望值和修改值不相等,于是抛出并发修改异常
解决: 使用listIterator
        ArrayList<Integer> coll = new ArrayList();
        ListIterator<Integer> lit = coll.listIterator();
        while(lit.hasNext()){
                lit.add();
                Integer num =   it.next();
        }
增强for
        1.增强for语法
        for(被遍历的数据类型  临时变量名 : 需要被遍历的数组或者集合){
                                .....
        }
        2.增强for 底层实际上,就是一个迭代器
        3.增强for在遍历过程中,不能对元素进行修改
       
       

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马