美文网首页
ArrayList源码分析

ArrayList源码分析

作者: Lapaziente | 来源:发表于2018-03-19 10:10 被阅读2次

    简单介绍
    ArrayList本质上也是继承于抽象类AbstractList,且实现List、随机数、克隆、以及序列化的Serializable。

    常量定义
    1.初始化大小 容量为10
    2.Object[] EMPTY_ELEMENTDATA 动态数组,用来保存空实例

    重要的几个方法
    1.trimToSize。ArrayLsit每次申请空间是按照1.5倍+1来申请的,内存不够的时候可以使用这个方法来减少多出来的一些空间。
    2.ensureCapacity-ensureCapacityInternal-ensureExplicitCapacity。
    扩容方法,如果参数大于低层数组长度的1.5倍,那么这个数组的容量就会被扩容到这个参数值,如果参数小于低层数组长度的1.5倍,那么这个容量就会被扩容到低层数组长度的1.5倍。
    3.JDK1.8后,增加了许多方法。用于并行计算的spliterator, 分割数组的SubList等。

    相关文章

      网友评论

          本文标题:ArrayList源码分析

          本文链接:https://www.haomeiwen.com/subject/knsuqftx.html