ArrayList list = new ArrayList(20);中的list扩充几次?
ArrayList的构造函数总共有三个:
(1)ArrayList()构造一个初始容量为 10 的空列表。
(2)ArrayList(Collection< ? extends E> c)构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。
(3)ArrayList(int initialCapacity)构造一个具有指定初始容量的空列表。
大家都知道默认ArrayList的长度是10个,所以如果你要往list里添加20个元素肯定要扩充一次(扩充为原来的1.5倍),但是这里显示指明了需要多少空间,所以就一次性为你分配这么多空间,也就是不需要扩充了。
ArrayList和数组的区别
(1)数组的长度是固定的,不可变的。而ArrayList的长度不是固定的,可以自动扩容。
(2 )数组既可以存储基本数据类型,也可以存储引用数据类型,只要所有的数组元素具有相同的类型即可。ArrayList可以存任何引用类型,如String,Object等,但不支持基本数据类型。

本文详细解释了ArrayList的三种构造函数及其使用场景,并重点分析了指定初始容量的ArrayList是否需要进行扩容的问题。此外,还对比了ArrayList与数组之间的区别。
5678

被折叠的 条评论
为什么被折叠?



