你的位置:首页 > 软件开发 > Java > javase基础回顾(一)ArrayList深入解析 解读ArrayList源代码(JDK1.8.0_92)

javase基础回顾(一)ArrayList深入解析 解读ArrayList源代码(JDK1.8.0_92)

发布时间:2017-02-20 00:00:28
我们在学习这一块内容时需要注意的一个问题是 集合中存放的依然是对象的引用而不是对象本身。List接口扩展了Collection并声明存储一系列元素的类集的特性。使用一个基于零的下标,元素可以通过它们在列表中的位置**入和访问。一个列表可以包含重复元素。List在集合中是一个比 ...

javase基础回顾(一)ArrayList深入解析 解读ArrayList源代码(JDK1.8.0_92)

javase基础回顾(一)ArrayList深入解析 解读ArrayList源代码(JDK1.8.0_92)

我们在学习这一块内容时需要注意的一个问题是 集合中存放的依然是对象的引用而不是对象本身。

List接口扩展了Collection并声明存储一系列元素的类集的特性。使用一个基于零的下标,元素可以通过它们在列表中的位置**入和访问。一个列表可以包含重复元素。List在集合中是一个比较重要的知识点也是在开发中最常用的。

我们都知道ArrayList是由数组实现的,但是和数组有很大区别的是随着向ArrayList中不断添加元素,其容量也自动增长,而数组声明好之后其容量就不会改变。想要探明其中的究竟探析其中的原理十分重要,今天重新看了一下这块的源代码(JDK1.8.0_92)感觉很有收获,所以在此记录和分享。

1.Arraylist类中的属性

javase基础回顾(一)ArrayList深入解析 解读ArrayList源代码(JDK1.8.0_92)javase基础回顾(一)ArrayList深入解析 解读ArrayList源代码(JDK1.8.0_92)
 1 public class ArrayList<E> extends AbstractList<E> 2     implements List<E>, RandomAccess, Cloneable, java.io.Serializable 3 { 4   private static final long serialVersionUID = 8683452581122892189L; 5  6   /** 7    *默认初始容量 8   */ 9   private static final int DEFAULT_CAPACITY = 10;10 11   /**12    *被用于空实例的共享空数组实例13   */14   private static final Object[] EMPTY_ELEMENTDATA = {};15 16   /**17    * Object[]类型的数组,保存了添加到ArrayList中的元素。ArrayList的容量是该Object[]类型数组的长度18    * 当第一个元素被添加时,任何空ArrayList中的elementData == DEFAULTCAPACITY_EMPTY_ELEMENTDATA将会被19    * 扩充到DEFAULT_CAPACITY(默认容量)。20   */21   private transient Object[] elementData;22 23   /**24    * ArrayList的大小(其实就是size()方法返回的那个值)25    *26    * @serial27   */28   private int size;29 30 ......31 32 }

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:javase基础回顾(一)ArrayList深入解析 解读ArrayList源代码(JDK1.8.0_92)

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。