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]
在上面的示例中,我們創(chuàng)建了一個名為languages的數(shù)組列表。注意這一行,
languages.ensureCapacity(3);
這里,ensureCapacity()方法調整了arraylist的大小,以存儲3個元素。
然而,Java中的ArrayList是可以動態(tài)調整大小的。也就是說,如果我們在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的大小。