ArrayList
ArrayList:
构造器:
看一下add方法:
初始化最小大小为10:
当add之后的size大于当前数组长度的时候进行一次扩容:
新的数组大小是原数组大小的1.5倍。最后Arrays.copyOf到新的数组。
看一下迭代器:
在next的时候会比较最新modcount和初始化时候的区别,有区别说明修改过抛出异常,乐观锁。
在用remove的时候重新赋值expectedModCount。
第一种不会有异常 第二种有 第三种无
边遍历边删除:
https://www.jianshu.com/p/0c76e12f77de
总结:
- 默认大小是10
- add之后的size大于当前数组长度的时候
- grow时新的大小是之前的1.5倍