在Java中,ArrayList
的默认初始容量是10。当你创建一个新的ArrayList
对象时,它会在内部分配一个初始容量为10的数组来存储元素。
如果你往ArrayList
中添加的元素数量超过了初始容量,ArrayList
会自动进行扩容。默认情况下,每次扩容会将当前容量增加一半。这意味着,当你的ArrayList
的容量不足以容纳新添加的元素时,它会创建一个新的更大的数组,并将旧数组中的元素复制到新数组中。
这种自动扩容的机制帮助了ArrayList
适应不同大小的数据集,但是在特定情况下可能会引起性能开销。因此,如果你能预测到ArrayList
可能会存储大量元素,可以通过指定初始容量来避免多次扩容,从而提高性能。
你可以在ArrayList
的构造函数中指定初始容量,例如:
ArrayList<String> list = new ArrayList<>(20); // 初始容量为20
这样,ArrayList
在创建时就会分配一个具有更大初始容量的数组,从而减少后续的扩容操作。