是的,当你在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扩容以容纳更多的元素。