Java ArrayList ensureCapacity()
方法 用于动态调整arraylist容量的大小,使用该函数可以提升arraylist对象的性能。
语法
语法如下:public void ensureCapacity(int minCapacity)
参数
- minCapacity:指定要调整arraylist容量的大小
返回值
没有返回值
应用场景
避免每次添加元素时,arraylist动态改变大小,采用此函数可提高arraylist的性能
例子
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("a");
arrayList.add("b");
arrayList.ensureCapacity(1);
System.out.println(arrayList);
}
}
输出:
[a, b]
内部实现
public void ensureCapacity(int minCapacity) {
int minExpand = (elementData != DEFAULTCAPACITY_EMPTY_ELEMENTDATA)
// any size if not default element table
? 0
// larger than default for default empty table. It's already
// supposed to be at default size.
: DEFAULT_CAPACITY;
if (minCapacity > minExpand) {
ensureExplicitCapacity(minCapacity);
}
}
private void ensureExplicitCapacity(int minCapacity) {
modCount++;
// overflow-conscious code
if (minCapacity - elementData.length > 0)
// ArrayList扩容核心方法
grow(minCapacity);
}