集合源码阅读——ArrayList

ArrayList

关键点:

>>扩容每次扩容1.5倍

集合源码阅读——ArrayList_第1张图片

>>modcount的作用

  >>ArrayList的父类AbstractList的成员变量

 

集合源码阅读——ArrayList_第2张图片

  >>ArrayList中的许多方法都会出现modcount++的操作

 集合源码阅读——ArrayList_第3张图片

>>ArrayList中的迭代器,返回一个Itr类型的对象

  >>modCount在操作ArrayList的时候会自增, 用来记录操作的次数。

  >>父类AbstractList中的expectedModCount在new出迭代器的时候被初始化为和modCount一样的值了,在迭代器中如果操作了列表,则会改变modCount,如果modCount和expectedModCount的值不一样(其他线程操作了列表,改变了modCount的值),则会在checkForComodification()方法中,抛出ConcurrentModificationException异常了。

集合源码阅读——ArrayList_第4张图片

集合源码阅读——ArrayList_第5张图片

集合源码阅读——ArrayList_第6张图片

集合源码阅读——ArrayList_第7张图片

 

你可能感兴趣的:(集合源码阅读——ArrayList)