Java ArrayList常用方法

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);
}