当ArrayList中的元素数量超过了当前数组的容量时,就需要对数组进行扩容。ArrayList的扩容机制是,如果当前数组的容量不足以容纳新的元素,就新建一个更大的数组,并将原数组中的所有元素复制到新数组中。新数组的大小通常是原数组的1.5倍。
例如,如果当前数组的容量是10,当前ArrayList中有9个元素,那么当我们再往ArrayList中添加第10个元素时,就需要扩容。此时,新数组的大小就是10*1.5=15。
在Java中,ArrayList是通过调用ensureCapacity()方法来实现扩容的。这个方法会检查当前数组的容量是否足够,如果不够就会新建一个更大的数组,并将原数组