集合源码阅读——ArrayList

ArrayList

关键点:

>>扩容每次扩容1.5倍

>>modcount的作用

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

 

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

 

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

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

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

 

posted @ 2019-06-03 23:49  程序员deepz  阅读(166)  评论(0编辑  收藏  举报