Java ArrayList ensureCapacity() 方法
ensureCapacity()
方法的语法是:
arraylist.ensureCapacity(int minCapacity)
这里的 arraylist
是 ArrayList
类的一个对象。
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 将在每次添加元素时都会重新调整大小。