Java8 ArrayList的源码分析(一)
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在Java开发中,最常用的集合莫过于ArrayList, Arraylist 提供了方便的crud的api,看似很复杂,但源码其实很简单,但是jdk1.8与以前版本的方法实现还是有一些不同,下面让我们一起看看ArrayList在Java8中是如何实现的。 查看源代码首先要从构造方法开始,通常初始化一个ArrayList通过如下方式 List<Object> list = new ArrayList<Object>(); ArrayList 有三个构造方法: public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; } 这是无参构造方法 DEFAULTCAPACITY_EMPTY_ELEMENTDATA 是一个空的Object 数组 private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; **elementData **是ArrayList的核心,是一个object的数组,ArrayList所有的数据操作,都是通过数组实现的 transient Object[] elementData; 所以,无参构造方法的ArrayList