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<>();
// set the capacity of the arraylist
languages.ensureCapacity(3);
// Add elements in the 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<>();
// set the capacity of the arraylist
languages.ensureCapacity(3);
// Add elements in the ArrayList
languages.add("Java");
languages.add("Python");
languages.add("C");
// add 4th element
languages.add("Swift");
System.out.println("ArrayList: " + languages);
}
}
输出
ArrayList: [Java, Python, C, Swift]
在上面的示例中,我们使用 ensureCapacity()
方法将 ArrayList 的容量调整为可以存储 3 个元素。但是,当我们向 ArrayList 中添加第 4 个元素时,ArrayList 会自动调整大小。
那么,既然 ArrayList 可以自动调整大小,为什么我们还需要使用 ensureCapacity() 方法来调整 ArrayList 的大小呢?
这是因为如果我们使用 ensureCapacity()
来调整 ArrayList 的大小,那么 ArrayList 将会一次性以指定的容量进行调整。否则,每次添加元素时,ArrayList 都会调整大小。