ArrayList就是动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了动态的增加和减少元素,实现了ICollection和IList接口,灵活的设置数组的大小等好处

有图有码

图为手工画的,有点丑见谅 _!

  1. 初始化集合ArrayList list = new ArrayList();
    因为使用无参构造时候集合容器为空,所以无任何空位。

  2. 第一次添加元素 add("a") 第一次添加元素时候,检测容器为空,根据默认容量10进行初始化容器。然后将元素放置到第一个空位中。 初始化容器:
    增加一个元素:

  3. 第十一次添加元素 add("k") 第十一次添加元素,发现元素超出容量,所以进行一次扩容,扩容后的大小为原容量加原容量的二分之一,即为15;然后将元素放置到第是一个空位中。
    增加容量: