集合源码阅读——ArrayList

ArrayList

关键点:

>>扩容每次扩容1.5倍

>>modcount的作用

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

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

 

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

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

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

猜你喜欢

转载自www.cnblogs.com/deepSleeping/p/10970919.html