這篇文章運(yùn)用簡單易懂的例子給大家介紹java中ArrayList的構(gòu)造方法,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
創(chuàng)新互聯(lián)2013年開創(chuàng)至今,先為祿勸等服務(wù)建站,祿勸等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為祿勸企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
一、ArrayList(int initialCapacity)
所以當(dāng)我們要使用ArrayList時(shí),可以 new ArrayList(大小)構(gòu)造方法來指定集合的大小,以減少擴(kuò)容的次數(shù),提高寫入效率,該構(gòu)造函數(shù)的源碼如下:
// 自定義初始容量的構(gòu)造方法 public ArrayList(int initialCapacity) { if (initialCapacity > 0) { this.elementData = new Object[initialCapacity]; } else if (initialCapacity == 0) { this.elementData = EMPTY_ELEMENTDATA; } else { // 如果初始容量小于0,則會出現(xiàn) IllegalArgumentException 異常 throw new IllegalArgumentException("Illegal Capacity: "+ initialCapacity); } }
這個(gè)構(gòu)造函數(shù)還是比較好理解的,因?yàn)樯婕暗降拇a也不多,而且都是一些基礎(chǔ)的代碼,相信聰明的你肯定看得懂的
二、ArrayList()
這個(gè)就更簡單了,只有兩行代碼
// 默認(rèn)的構(gòu)造方法,構(gòu)造一個(gè)初始容量為10的空列表 public ArrayList() { // elementData 初始化為 DEFAULTCAPACITY_EMPTY_ELEMENTDATA this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; }
三、ArrayList(Collection extends E> c)
// 構(gòu)造一個(gè)包含指定元素的列表集合,按集合的返回順序迭代器 // 傳入?yún)?shù)為Collection對象 // c要將其元素放入此列表的集合 public ArrayList(Collection extends E> c) { // 調(diào)用toArray()方法將Collection對象轉(zhuǎn)換為Object[] elementData = c.toArray(); // 判斷size的大小,如果size值為0,則會拋出NullPointerException異常 // 如果size > 0 ,則執(zhí)行以下代碼 if ((size = elementData.length) != 0) { // c.toArray might (incorrectly) not return Object[] (see 6260652) if (elementData.getClass() != Object[].class) // 執(zhí)行Arrays.copyOf,把Collection對象的內(nèi)容copy到elementData中 elementData = Arrays.copyOf(elementData, size, Object[].class); } else { // replace with empty array. this.elementData = EMPTY_ELEMENTDATA; } }
關(guān)于java中ArrayList的構(gòu)造方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。