一、ArrayList就是数组列表,它的主要底层实现是数组object[]elementData,当装载基本类型的数据时:装载时它对应的包装类;
二、ArrayList可以通过构造方法在初始化的时候指定数组的大小,无参就是默认大小,有参会判断参数。我们可以看下它的无参和有参构造器:
ArrayList的底层实现
我们一般我将DEFAULT_CAPACITY设定为10;
三、数组的长度是有限制的,我们一般通过数组扩容的方式去实现:

我们需要扩展的数组长度:ArrayList的底层实现
我们真正扩容的长度:ArrayList的底层实现
一般默认DEFAULT_EXPAND_RATE = 1.5F。
四、额外,ArrayList的插入和删除的效率是比较低的:
ArrayList的底层实现
ArrayList的底层实现
至于为什么说他的效率低,看代码我们就知道,在一个小的数组中我们就需要将增加和删除的元素取出来,然后其他元素复制到另一个数组中,效率就会很低。

相关文章:

  • 2021-05-18
  • 2021-05-31
  • 2021-07-12
  • 2022-01-04
  • 2021-07-05
  • 2022-12-23
  • 2022-01-05
  • 2021-12-20
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-08
  • 2022-01-08
  • 2022-02-08
  • 2021-10-28
相关资源
相似解决方案