ArrayList的实现

ArrayList的实现

ArrayList的数据放在一个数组上
transient Object[] elementData;

有三种初始化方式:

1.构造一个默认初始容量为10的空列表

2.构造一个指定初始容量的空列表

3.构造一个包含指定Collection的数据

(3)存储数据

提供了5种存储数据的方法

set(int index,E element)

add(E e)

add(int index,E element)

addAll(Collection<? extends E> c)

addAll(int index, Collection<?extends E> c)

 


 

这些方法中的关键方法是

ensureCapacity(int newCapacity){

  //当新容量大于原始大小,使用原始容量

  if(newCapacity < size)

    return;

  //如果新容量大于原始容量

  将老数据copy到一个新数组中,然后将原有数组扩容,将老数据加入到新数据中

}


 

增加数据的时候首先应该判断是不是容量够

原文地址:https://www.cnblogs.com/zhangchiblog/p/8416646.html