属性
protected transient int modCount
记录修改次数,如果期望的修改次数和当前记录的次数不一致,抛出ConcurrentModificationException,使用快速失败机制防止对列表数组的结构性修改导致的操作异常
private static final int DEFAULT_CAPACITY = 10
默认的容量大小
默认空队列
transient Object[] elementData
数据存放缓存区
方法
Special方法,动态数组修改有很多地方使用到了这个方法
增加
private void grow(int minCapacity)
容量增加时,修改modCount
数组增加方法,默认扩容位原容量*1.5。并比较是否已经到达最大值
删除
public boolean remove(Object o)
删除方法通过重新赋值的形式实现
内部静态类
private class Itr implements Iterator
迭代器的优化方法,添加了快速失败判断方法
private class ListItr extends Itr implements ListIterator
迭代器
private class SubList extends AbstractList
子列表
static final class ArrayListSpliterator
内部类描述 Index-based split-by-two, lazily initialized Spliterator,基于二分法的懒加载分割器
Q.E.D.