ArrayList底层实现原理
ArrayList概述: ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括null在内的所有元素。除了实现列表接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。每个ArrayList的实例都有一个容量,该容量是指用来存储列表元素的数组的大小。随着向ArrayList中中不断添加元素,其容量也自动增长。自动增长会带来数据向新数组的重新拷贝,因此,如果可预知数据量的多少,可在构造的ArrayList时指定其容量。在添加大量元素前,应用程序也可以使用的ensureCapacity操作来增加ArrayList的实例的容量,这可以减少递增式再分配的数量。 Arraylist 实现了list接口,底层是使用数组存放数据,实际上操作就是对数组的操作。 ArrayList实现: 1)数组实现 private transient Object [] elementData; 2)构造方法:(3种实现方式) 1)构造默认的初始化容量列表; 2)构造一个指定的初始化容量的空列表; 3)构造一个包含指定collection的元素的列表,这些元素按照collection的迭代器,返回他们的顺序排列的; Java代码: public ArrayList(){ 这 ( 10 ) } public ArrayList( int