跳到主要内容

Java ArrayList ensureCapacity() 方法

ensureCapacity() 方法的语法是:

arraylist.ensureCapacity(int minCapacity)

这里的 arraylistArrayList 类的一个对象。

ensureCapacity() 方法的参数

ensureCapacity() 只接受一个参数。

  • minCapacity - 指定的 arraylist 最小容量

ensureCapacity() 方法的返回值

ensureCapacity() 方法不返回任何值。

示例 1:Java ArrayList ensureCapacity()

import java.util.ArrayList;

class Main {
public static void main(String[] args) {
ArrayList<String> languages= new ArrayList<>();

// 设置 arraylist 的容量
languages.ensureCapacity(3);

// 在 ArrayList 中添加元素
languages.add("Java");
languages.add("Python");
languages.add("C");
System.out.println("ArrayList: " + languages);
}
}

输出

ArrayList: [Java, Python, C]

在上面的示例中,我们创建了一个名为 languages 的 arraylist。请注意这一行,

languages.ensureCapacity(3);

这里,ensureCapacity() 方法调整了 arraylist 的大小,以存储 3 个元素。

然而,Java 中的 ArrayList 是动态可调整大小的。也就是说,如果我们在 arraylist 中添加超过 3 个元素,它将自动调整大小。例如,

示例 2:ensureCapacity() 的工作原理

import java.util.ArrayList;

class Main {
public static void main(String[] args) {
ArrayList<String> languages= new ArrayList<>();

// 设置 arraylist 的容量
languages.ensureCapacity(3);

// 在 ArrayList 中添加元素
languages.add("Java");
languages.add("Python");
languages.add("C");

// 添加第 4 个元素
languages.add("Swift");
System.out.println("ArrayList: " + languages);
}
}

输出

ArrayList: [Java, Python, C, Swift]

在上面的示例中,我们使用 ensureCapacity() 方法调整了 arraylist 的大小,以存储 3 个元素。然而,当我们在 arraylist 中添加第 4 个元素时,arraylist 会自动调整大小。

那么,为什么我们需要使用 ensureCapacity() 方法调整 arraylist 的大小,如果 arraylist 可以自动调整大小呢?

这是因为如果我们使用 ensureCapacity() 调整 arraylist 的大小,那么 arraylist 将一次性调整到指定的容量。否则,arraylist 将在每次添加元素时都会重新调整大小。