是的,當你在Java中使用ArrayList時,添加元素可能會導致ArrayList擴容。ArrayList是一個動態數組,它可以根據需要自動調整其容量。當ArrayList中的元素數量超過其當前容量時,ArrayList會自動擴容。
擴容是指ArrayList將其內部數據結構重新分配到更大的存儲空間,以便容納更多的元素。擴容通常是通過創建一個新的數組并將舊數組中的元素復制到新數組中來實現的。新數組的大小取決于ArrayList的擴容策略。默認情況下,ArrayList的擴容策略是將當前容量增加50%。
以下是一個簡單的示例,說明了ArrayList在添加元素時可能會擴容:
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
// 添加元素,不會導致擴容
list.add("A");
list.add("B");
list.add("C");
// 添加元素,可能導致擴容
for (int i = 4; i <= 10; i++) {
list.add("D" + i);
}
System.out.println(list);
}
}
在這個示例中,我們首先向ArrayList中添加了三個元素(A、B和C),這不會導致擴容。然后,我們添加了7個新元素(D4到D10),這可能會導致ArrayList擴容以容納更多的元素。