| 
 
                
| 因为热爱坚持所以,因为热爱所以热爱。熬过你无戏可演的日子,终于换来了人生的春天,共勉!!! 1.ArrayList继承体系
 
 
 ArrayList中又称动态数组,底层是基于数组实现的列表,与数组的区别在于,其具备动态扩展能力从继承体系图中可看出。ArrayList中:
 公共类 ArrayList 扩展 AbstractList        实现List < E >、RandomAccess、Cloneable、java.io。可序列化{        ...}复制代码实现了List、RandomAccess、Cloneable、java.io.Serializable等接口
 
 2. ArrayList 属性
 实现了列表,具备底子的添加、删除、遍历等操纵
实现了RandomAccess,拥有随机访问的能力
实现了Cloneable,可以被克隆(浅拷贝) list.clone()
实现了Serializable,可以被序列化
 
 /** * 默认初始容量。 *默认容量 */私有静态终极 int DEFAULT_CAPACITY = 10 ;/** ·共享空 阵列 实例用于为 空的情况。 * 空数组,如果上限的容量为0时使用 */私有静态终极对象[] EMPTY_ELEMENTDATA = {};/** ·共享空 阵列 实例用于为 默认尺寸空实例。 * 我们将其与 EMPTY_ELEMENTDATA 区分开来,以了解添加第一个元素时要膨胀多少。 *默认空容量的数组,长度为0,第一个容量时间使用,一个时间会初始添加为默认容量巨细 */私有静态终极对象[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};/** *该阵列到其中的元件缓冲器的存储ArrayList中。 *容量的该ArrayList是长度的此阵列缓冲器。任何 *带有 elementData == DEFAULTCAPACITY_EMPTY_ELEMENTDATA 的空ArrayList * 将在添加第一个元素时扩展为DEFAULT_CAPACITY 。 * 聚集中真正存储数据元素的数组容器 */瞬态对象[] elementData; // 非私有以简化嵌套类访问/** *巨细的该ArrayList(数量的它包罗的元素)。 *聚集中元素的个数 * @串行 */私有整数巨细;复制代码
 
 3.ArrayList构造方法
 DEFAULT_CAPACITY:聚集的默认容量,默认为10,通过new ArrayList()创建List聚集实例时的默认容量为10。
EMPTY_ELEMENTDATA:空数组,通过new ArrayList(0)创建List聚集实例时用的是这个空数组。
DEFAULTCAPACITY_EMPTY_ELEMENTDATA:这个默认容量空数组,这种是通过new ArrayList()无参构造方法创建聚集时用的是这个空数组,与EMPTY_ELEMENTDATA的区别是在添加第一个元素时使用空数组的会初始化为DEFAULT_CAPACITY (10)个元素。
elementData存储数据元素的数组,使用瞬态相应,该定位知识化。
巨细:存储数据元素的个数,元素数据数组的长度非存储数据元素的个数。\
 
 
 /** * 构造一个具有指定初始容量的空列表。 * 构造具有指定初始能力的空数组 * * @param initialCapacity 列表初始容量列表的初始容量 * @throws IllegalArgumentException 如果指定的初始容量为负 * *对应初始初始容量,如果大于0就初始化元素数据为巨细,如果等于0就使用EMPTY_ELEMENTDATA空数组, * 如果小于0 非常。 */ // ArrayList(int initialCapacity)构造方法public  ArrayList ( int initialCapacity)  {     if (initialCapacity > 0 ) {         this .elementData = new Object[initialCapacity];    } else  if (initialCapacity == 0 ) {         this .elementData = EMPTY_ELEMENTDATA;    } else {         throw  new IllegalArgumentException( "不合理的初识能力:" +                初始容量);    }}复制代码
 有参构造 ArrayList(int initialCapacity)
 /**  * 构造一个初始容量为 10 的空列表。  * 构造一个终极能力为10的空数组  *  * 不传初始空,初始化为DEFAULTCAPACITY_EMPTY_ELEMENTDATA数组,  * 会在添加第一个元素的时候扩容为默认的巨细,即10。  */  public  ArrayList ()  {      this .elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; }复制代码
 
 /** * 构造一个包罗指定元素的列表 * 聚集,按照聚集返回的顺序 * 迭代器。 * 把聚集的元素初始化到ArrayList中 * * @param c 其元素将被放入此列表的聚集 * @throws NullPointerException 如果指定的聚集为空 */ public ArrayList(Collection
 有参构造ArrayList(Collection c)
 | 
 | 
|  | 
|
|  | 
|  |