写项目,经常对list的数据增删改查,今天碰到一个问题,在数量为0的时候需要删除这条数据,直接想到了list.remove();方法。
但是运行的时候发现挂掉了报错:ConcurrentModificationException。
网上查到很多对ConcurrentModificationException异常的解释文章。看完后明白怎么一回事了,是对list的结构进行了修改。
/**
*在Iterator的内部有个expectedModCount 变量,
*该变量每次初始化*Iterator的时候等于ArrayList的modCount,modCount记录了对ArrayList的结构修改次数,
*在通过Iterator对ArrayList进行结构的修改的时候