ArrayList的容量與長度

2022-08-31 23:24:21 字數 516 閱讀 5723

arraylist有乙個有參構造方法

public arraylist(int

initialcapacity)

else

if (initialcapacity == 0)

else

}

也就是我們例項化arraylist時可以這樣寫:

arraylistlist = new arraylist(30);
我第一反應是list的初始長度為30,因此我寫了這樣一條**:

list.set(0,"first");
結果卻報了這麼乙個異常

於是我呼叫size()方法,返回的結果是:

size = 0
也就是說,該構造方法並不是將arraylist()初始化為指定長度,而是指定了其內部的object陣列的長度,也就是其容量。因此,當我們呼叫size()時,返回的是其實際長度,而非容量大小,同時,對超出arraylist長度的部分進行訪問或賦值操作時也會造成訪問越界,儘管它的容量大小足夠

關於ArrayList 容量問題

arraylist 是實現list 介面的動態陣列,即它的容量大小是可變的。允許包括null 在內的所欲元素。每個arraylist 例項都有乙個容量,該容量是指用來儲存列表元素的陣列的大小。預設初始容量為10.隨著arraylist 中元素的增加,它的容量會不端的自動增長。在每次新增新的元素時,a...

Java中的ArrayList的容量

list介面的大小可變陣列的實現。實現了所有可選列表操作,並允許包括 null 在內的所有元素。arraylist繼承於list介面,除繼承過來的方法外,還提供一些方法來操作內部用來儲存列表的陣列的大小。每個arraylist例項都有乙個容量。該容量是指用來儲存列表元素的陣列的大小。它總是至少等於列...

Java中的ArrayList的容量

list介面的大小可變陣列的實現。實現了所有可選列表操作,並允許包括 null 在內的所有元素。arraylist繼承於list介面,除繼承過來的方法外,還提供一些方法來操作內部用來儲存列表的陣列的大小。每個arraylist例項都有乙個容量。該容量是指用來儲存列表元素的陣列的大小。它總是至少等於列...