📅  最后修改于: 2023-12-03 15:16:20.151000             🧑  作者: Mango
在 Java 中,ArrayList
是一个常用的动态数组实现,当我们往其中添加元素时,可能会引发数组扩容的操作,而这个过程会消耗一定的时间和资源。为了避免频繁地发生数组扩容操作,我们可以使用 ensureCapacity()
方法来提前设置 ArrayList
的容量大小,可以帮助我们更高效地操作 ArrayList
。
public void ensureCapacity(int minCapacity)
其中:
minCapacity
:表示需要设置的最小容量值该方法用于设置 ArrayList
的容量大小,如果当前容量小于 minCapacity
,则会自动扩容并且将容量设置为 minCapacity
。
下面是一个使用 ensureCapacity()
方法的示例:
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String[] args) {
// 创建一个 ArrayList,初始容量为 3
ArrayList<String> list = new ArrayList<>(3);
// 打印 ArrayList 的初始容量
System.out.println("ArrayList 的初始容量为:" + list.size());
// 往 ArrayList 中添加元素
list.add("Java");
list.add("Python");
list.add("C++");
// 打印 ArrayList 容量和元素个数
System.out.println("添加元素后,ArrayList 的容量为:" + list.size());
System.out.println("添加元素后,ArrayList 中的元素个数为:" + list.size());
// 使用 ensureCapacity() 方法设置容量为 10
list.ensureCapacity(10);
// 打印设置后的容量
System.out.println("使用 ensureCapacity() 方法设置之后,ArrayList 的容量为:" + list.size());
}
}
输出结果为:
ArrayList 的初始容量为:0
添加元素后,ArrayList 的容量为:3
添加元素后,ArrayList 中的元素个数为:3
使用 ensureCapacity() 方法设置之后,ArrayList 的容量为:3
我们可以看到,在使用 ensureCapacity()
方法时,如果设置的容量小于等于当前容量,则不会产生扩容操作,同时 ArrayList
的容量也不会改变。因此,在使用该方法时需要谨慎设置容量大小,以避免不必要的内存浪费。