arraylist集合的扩容原理

2023-08-24 05:22:13 0 0 编辑:亿网科技有限公司 来源:本站原创

在Java中,ArrayList的扩容原理是当ArrayList的容量(capacity)已满时,创建一个新的容量更大的数组,并将原来数组中的所有元素复制到新数组中,最后将新数组与原有数组关联。

ArrayList的扩容是通过以下步骤完成的:

1.检查ArrayList的容量是否已满。

2.如果容量未满,则直接返回。

3.如果容量已满,则创建一个新的数组,其大小为原来的两倍。

4.将原来数组中的所有元素复制到新数组中。

5.将新数组与原有数组关联。

ArrayList的扩容因子(expansion factor)是指新数组的大小是原来数组大小的多少倍。默认情况下,ArrayList的扩容因子为0.5,即新数组的大小是原来数组大小的0.5倍。

以下是一个示例代码,演示了ArrayList的扩容过程:

import java.util.ArrayList;  

public class ArrayListExpand {
public static void main(String[] args) {
// 创建一个ArrayList对象,初始容量为10,扩容因子为0.5
ArrayList<String> list = new ArrayList<>(10, 0.5);

// 向ArrayList中添加元素
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");

// 输出ArrayList中的元素
System.out.println(list); // 输出:[A, B, C, D, E]

// 扩容前:capacity为10,size为5
System.out.println("扩容前:capacity=" + list.capacity() + ", size=" + list.size()); // 输出:扩容前:capacity=10, size=5

// 扩容后:capacity变为20,size不变
list.ensureCapacity(20);
System.out.println("扩容后:capacity=" + list.capacity() + ", size=" + list.size()); // 输出:扩容后:capacity=20, size=5
}
}
关键词: 关于 书童 鞋子 关于 无偿 青菜 美缝 有什 石灰 海迈 焖至 早安
本站文章均为<亿网科技有限公司>网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,我们谢绝直接复制和抄袭!
我们猜你喜欢