- 允许所有元素,包括空(null),ArrayList可以加如null,并且多个
- ArrayList是由数组来实现数据存储的
- ArrayList基本等同于Vector,除了ArrayList是线程不安全(执行效率高)因为没有锁 在多线程的情况下不建议使用ArrayList
- ArrayList中维护了一个Object类型的数组elementData
transient Object[] elementData
;
- 当创建ArrayList对象时,如果使用的是无参构造器,则初始elementData容量为0,第一次添加,则扩容elementData为10,如需要再次扩容,则扩容elementData为1.5倍.
- 如果使用的是指定大小的构造器,则初始elementData容量为指定大小,如果需要扩容,则直接扩容elementData为1.5倍