ArrayList
-
ArrayList 构造器
- 无参构造,此时ArrayList的大小为0,第一次add元素之后扩为10,之后每次为原来的1.5倍
- 使用有参构造,如果是集和,就是集和的长度,如果是数字就是数字的大小。
-
ArrayList添加 元素
- add 方法,每次扩容都是1.5倍。
- addAll方***先算出扩容后的大小,以及添加完元素的大小,取其中的最大值。
- ArrayList 扩容为什么是1.5
- 可以使用以前释放的内存。
- 方便计算
- ArrayList 线程不安全
- ArrayList 线程不安全的表现
很显然这不是一个原子操作,多线程时会出现值覆盖问题。