-
ArraysList,基于数组实现,默认容量为10,扩容时会先创建一个原始1.5倍的数组,然后再把元素复制过去。特点:
-
有序,可存重复元素,可存null
- 查询快,增删慢,适合查询较多的场景
- 如果使用无参构造器,则初始elementData容量为0,第一次添加时则扩容为10,如需再次扩容,则扩容1.5倍
- 如果使用指定大小的构造器,则初始elementData为指定大小,扩容仍为1.5倍。
add方法,扩容机制,源码和流程分析
public static void main(String[] args) {
ArrayList list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
list.add(i);
}
list.add(11);
list.add(12);
}