Java ArrayList sureCapacity()方法用指定的容量来设置ArrayList的大小。
ensureCapacity()方法的语法为:
arraylist.ensureCapacity(int minCapacity)
minCapacity - 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的数组列表。注意这一行,
languages.ensureCapacity(3);
这里,ensureCapacity()方法调整了arraylist的大小,以存储3个元素。
然而,Java中的ArrayList是可以动态调整大小的。也就是说,如果我们在arraylist中添加3个以上的元素,它将自动调整自身大小。例如
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会自动调整大小。
那么,如果arraylist可以自动调整自身大小,为什么还要使用guaranteeCapacity()方法调整arraylist的大小呢?
这是因为如果我们使用ensureCapacity()来调整ArrayList的大小,那么将以指定的容量立即调整的大小。否则,每次添加元素时都会调整arraylist的大小。