首页 > 代码库 > JDK源码--ArrayList浅析

JDK源码--ArrayList浅析

先上别人的源码分析http://www.cnblogs.com/roucheng/p/jdkfenxi.html

具体需要注意的几点:

  1、默认new ArrayList()时创建一个长度为0的数组。当添加新元素的时候,如果是这种方式添加的则直接将数组长度扩展到10。

  2、数组为null和空数组new Object[0]的区别是:假设一个方法返回一个数组,如果它返回null,则调用方法必须先判断是否返回null,才能对放回数组进一步处理,而如果返回空数组,则无须null引用检查。鉴于此,返回数组的方法在没有结果时我们通常返回空数组,而不是null,这样做对于函数调用者的处理比较方便。

  private static final Object[] EMPTY_ELEMENTDATA = http://www.mamicode.com/{};
  private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = http://www.mamicode.com/{};

JDK源码--ArrayList浅析