Java ArrayList sureCapacity()方法用指定的容量來(lái)設(shè)置ArrayList的大小。
ensureCapacity()方法的語(yǔ)法為:
arraylist.ensureCapacity(int minCapacity)
minCapacity - ArrayList的指定最小容量
ensureCapacity()方法不返回任何值。
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<String> languages= new ArrayList<>(); //設(shè)置arraylist的容量 languages.ensureCapacity(3); //在ArrayList中添加元素 languages.add("Java"); languages.add("Python"); languages.add("C"); System.out.println("ArrayList: " + languages); } }
輸出結(jié)果
ArrayList: [Java, Python, C]
在上面的示例中,我們創(chuàng)建了一個(gè)名為languages的數(shù)組列表。注意這一行,
languages.ensureCapacity(3);
這里,ensureCapacity()方法調(diào)整了arraylist的大小,以存儲(chǔ)3個(gè)元素。
然而,Java中的ArrayList是可以動(dòng)態(tài)調(diào)整大小的。也就是說(shuō),如果我們?cè)赼rraylist中添加3個(gè)以上的元素,它將自動(dòng)調(diào)整自身大小。例如
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<String> languages= new ArrayList<>(); //設(shè)置arraylist的容量 languages.ensureCapacity(3); //在ArrayList中添加元素 languages.add("Java"); languages.add("Python"); languages.add("C"); //添加第4個(gè)元素 languages.add("Swift"); System.out.println("ArrayList: " + languages); } }
輸出結(jié)果
ArrayList: [Java, Python, C, Swift]
在上面的示例中,我們使用ensureCapacity()方法調(diào)整arraylist的大小以存儲(chǔ)3個(gè)元素。但是,當(dāng)我們?cè)赼rraylist中添加第4個(gè)元素時(shí),arraylist會(huì)自動(dòng)調(diào)整大小。
那么,如果arraylist可以自動(dòng)調(diào)整自身大小,為什么還要使用guaranteeCapacity()方法調(diào)整arraylist的大小呢?
這是因?yàn)槿绻覀兪褂胑nsureCapacity()來(lái)調(diào)整ArrayList的大小,那么將以指定的容量立即調(diào)整的大小。否則,每次添加元素時(shí)都會(huì)調(diào)整arraylist的大小。