ArrayList的注意事项
1) permits all elements, including null ,ArrayList可以加入null,并且多个
2) ArrayList 是由数组来实现数据存储的
3) ArrayList 基本等同于Vector,除了ArrayList 是线程不安全(执行效率高)看源码.在多线程情况下,不建议使用ArrayList
ArrayList的底层操作机制
1) ArrayList中维护了一个0bject类型的数组elementData.
transient Object[] elementData; //transient表示瞬间,短暂的,表示该属性不会被序列化
2) 当创建ArrayList对象时,如果使用的是无参构造器,则初始elementData容量为0,第1
次添加,则扩容elementData 为10,如需要再次扩容,则扩容elementData 为1.5倍。
3) 如果使用的是指定大小的构造器,则初始elementData 容量为指定大小,如果需要扩容,则直接扩容elementData 为1.5倍。