用一道選擇題作為本文的開始吧!
arraylist list = new arraylist(20);中的list擴充幾次
a.0
b.1
c.2
d.3答案:awww.cppcns.com
1、arraylist的預設初始容量為10,當然也可以自定義指定初始容量,隨著動態的向其中新增元素,其容量可能會動態的增加,那麼擴容的公式為:
新容量 = 舊容量/2 + 舊容量
比如:初始容量為4,其容量的每次擴充後的新容量為:4->6->9->13->1程式設計客棧9->…
ciebhadwc
即每次擴充至原有基礎的1.5倍
arraylist的建構函式總共有三個:
(1)arraylist()構造乙個初始容量為 10 的空列表。
(2)arraylist(collection extends e> c)構造乙個包含指定 co程式設計客棧llection 的元素的ciebhadwc列表,這些元素是按照該 collection 的迭代器返回它們的順序排列的。
(3)arraylist(int initialcapacity)構造乙個具有指定初始容量的空列表。
呼叫的是第三個建構函式,直接初始化為大小為20的list,沒有擴容,所以選擇a
如果初始化為arraylist(0),則會在新容量計算完畢後,增加至1;
另外與之類似的還有,
2、hashmap的初始大小為16,增長時,直接容量翻番,如源**。
void addentry(int hash, k key, v value, int bucketindex)
createentry(hash, key, value, bucketindex);
}3、vector的初始大小為10,如果沒有指定每次增長的大小,則預設是翻倍增長。
總結
ArrayList的自動擴充機制
arraylist list new arraylist 20 中的list擴充幾次01 23答案 a 1 arraylist的預設初始容量為10,當然也可以自定義指定初始容量,隨著動態的向其中新增元素,其容量可能會動態的增加,那麼擴容的公式為 新容量 舊容量 2 舊容量 1 比如 初始容量為4,其...
ArrayList自動擴容機制
arraylist 操作的底層其實是object 陣列,對該陣列進行了包裝。arraylist 在建立時若不指定元素個數,會使用預設值 private static final int default capacity 10 內部相當於建立了乙個 object object new object 1...
虛擬機器擴充硬碟安裝筆記
1.用virtualbox把當前 centos dev.vdi 的虛擬硬碟copy乙份。名稱為centos dev copy.vdi 用virtualbox生成乙個虛擬機器硬碟vdi,目前大小是80g。名稱為centos dev 80.vdi 在虛擬機器中設定對應的storage下掛載這兩個虛擬硬碟...