📜  Java中的 ArrayList ensureCapacity() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:16:20.151000             🧑  作者: Mango

Java中的 ArrayList ensureCapacity() 方法及示例

在 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 的容量也不会改变。因此,在使用该方法时需要谨慎设置容量大小,以避免不必要的内存浪费。