ensureCapacity()
方法的语法是:
arraylist.ensureCapacity(int minCapacity)
这里,
arraylist 是
ArrayList
类的对象。
ensureCapacity() 参数
ensureCapacity()
接受一个参数。
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 的数组列表。注意这一行,
languages.ensureCapacity(3);
此处,
ensureCapacity()
方法调整了数组列表的大小以存储 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()
方法调整数组列表的大小以存储 3 个元素。但是,当我们在 arraylist 中添加第 4 个元素时,arraylist 会自动调整大小。
那么,如果arraylist可以自动调整大小,为什么我们需要使用ensureCapacity()方法调整arraylist的大小?
这是因为如果我们使用
ensureCapacity()
来调整arraylist 的大小,那么arraylist 的大小将被立即调整为指定的容量。否则,每次添加元素时都会调整数组列表的大小。