List
ArrayList
ArrayList由Object数组构成,用int类型的size属性记录数组中实际对象的数量,实现了随机访问接口RandomAccess。默认容量是10,最大容量为Integer.MAX_VALUE-8。使用int modCount记录结构变更(增减数组长度)次数,使用指针迭代ArrayList时,
指针中的expectedModCount初始为modCount,当在迭代中发现expectedModCount和modCount不相等时,认为结构被其他线程改变了,此时将抛出异常。
每次插入、批量新增和删除元素都会对结构作出改变,并对modCount+1,底层通过使用System.arraycopy实现。
1 | /* |