ArrayList注意事项

  1. permits all elements, including null, ArrayList可以加入null,并且多个

  2. ArrayList是由数组来实现存储的

  3. ArrayList基本等同于Vector,除了ArrayLis是线程不安全的(执行效率高),没有synchronized。多线程下不建议使用ArrayList.

底层操作机制

  1. ArrayList中维护了一个Object类型的数组elementData,

  2. 创建ArrayList对象时,如果使用的是无参构造器,则初始elementData容量为0,第1次添加,则扩容elementData为10,如需要再次扩容,则扩容elementData为1.5倍。

  3. 如使用的是指定大小的构造器,则初始elementData容量为指定大小,如果需要扩容,则直接扩容为1.5倍。


本文章使用limfx的vscode插件快速发布