ArrayList的容量管理方案
发布时间
阅读量:
阅读量
在Java语言中، ArrayList被视为一个被广泛应用的集合类型, 由于其底层基于Object数组实现的原因, 在使用过程中它能够具备与数组相似的属性. 例如, 在支持随机存取方面表现突出. 然而, 在进行数据插入操作时会面临较高的开销.
先来看看若是调用ArrayList的无参构造方法,会发生什么?
transient Object[] elementData;
private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};
public ArrayList() {
this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA;
}
在构造方法中,在初始化阶段(或其他相关步骤),系统会将指定的安全权限(DEFAULTCAPACITY_EMPTY_ELEMENTDATA)赋予elementData属性,并将其定义为一个空Object数组。该对象变量被定义为空Object数组,并由ArrayList负责存储实际的数据内容。
由此可见,在Java程序中通过默认构造初始化的一个ArrayList对象,在其内部会生成一个空列表(即长度为0),只有当后续调用add()方法向其注入元素时
全部评论 (0)
还没有任何评论哟~
