集合源码阅读——ArrayList
ArrayList
关键点:
>>扩容每次扩容1.5倍
>>modcount的作用
>>ArrayList的父类AbstractList的成员变量
>>ArrayList中的许多方法都会出现modcount++的操作
>>ArrayList中的迭代器,返回一个Itr类型的对象
>>modCount在操作ArrayList的时候会自增, 用来记录操作的次数。
>>父类AbstractList中的expectedModCount在new出迭代器的时候被初始化为和modCount一样的值了,在迭代器中如果操作了列表,则会改变modCount,如果modCount和expectedModCount的值不一样(其他线程操作了列表,改变了modCount的值),则会在checkForComodification()方法中,抛出ConcurrentModificationException异常了。