ArrayList就是動態(tài)數(shù)組,用MSDN中的說法,就是Array的復(fù)雜版本,它提供了動態(tài)的增加和減少元素,實現(xiàn)了ICollection和IList接口,靈活的設(shè)置數(shù)組的大小等好處

有圖有碼

圖為手工畫的,有點丑見諒 _!

  1. 初始化集合ArrayList list = new ArrayList();
    因為使用無參構(gòu)造時候集合容器為空,所以無任何空位。

  2. 第一次添加元素 add("a") 第一次添加元素時候,檢測容器為空,根據(jù)默認(rèn)容量10進行初始化容器。然后將元素放置到第一個空位中。 初始化容器:
    增加一個元素:

  3. 第十一次添加元素 add("k") 第十一次添加元素,發(fā)現(xiàn)元素超出容量,所以進行一次擴容,擴容后的大小為原容量加原容量的二分之一,即為15;然后將元素放置到第是一個空位中。
    增加容量: