一、ArrayList就是数组列表,它的主要底层实现是数组object[]elementData,当装载基本类型的数据时:装载时它对应的包装类;
二、ArrayList可以通过构造方法在初始化的时候指定数组的大小,无参就是默认大小,有参会判断参数。我们可以看下它的无参和有参构造器:
我们一般我将DEFAULT_CAPACITY设定为10;
三、数组的长度是有限制的,我们一般通过数组扩容的方式去实现:
我们需要扩展的数组长度:
我们真正扩容的长度:
一般默认DEFAULT_EXPAND_RATE = 1.5F。
四、额外,ArrayList的插入和删除的效率是比较低的:
至于为什么说他的效率低,看代码我们就知道,在一个小的数组中我们就需要将增加和删除的元素取出来,然后其他元素复制到另一个数组中,效率就会很低。