ArrayList 的扩容机制
时间: 2024-06-02 13:13:14 浏览: 148
浅谈ArraryList扩容机制
5星 · 资源好评率100%
在 Java 中,ArrayList 是一个动态数组,它可以根据需要动态地增加或减少大小。当我们向 ArrayList 中添加元素时,如果当前元素数量已经达到数组容量的上限,ArrayList 将会自动进行扩容操作。扩容的步骤如下:
1. 创建一个新的数组,大小为原数组的 1.5 倍(如果原数组大小为 0,则默认大小为 10)。
2. 将原数组中的元素复制到新数组中。
3. 将新元素添加到新数组中。
4. 将 ArrayList 的引用指向新数组。
由于扩容操作需要将原数组中的元素复制到新数组中,因此扩容的时间复杂度为 O(n)。为了避免频繁扩容导致程序性能下降,我们可以在创建 ArrayList 对象时指定初始容量,以减少扩容的次数。
阅读全文