美文网首页
ArrayList原理解析

ArrayList原理解析

作者: 第一号伤心人 | 来源:发表于2018-03-14 10:34 被阅读12次

    ArrayList介绍

    1、ArrayList底层是基于数组来实现的,因此在 get 的时候效率高,而 add 或者 remove 的时候,效率低;

    2、调用默认的 ArrayList 无参构造方法的话,数组的初始容量为 10 ;

    3、ArrayList 会自动扩容,扩容的时候,会将容量扩至原来的 1.5 倍;

    4、ArrayList 不是线程安全的;

    源码分析

    构造方法

    add方法

    ensureCapacityInternal方法

    grow方法

    扩容方法其实就是新创建一个数组,然后将旧数组的元素都复制到新数组里面。

    add重载方法 add(int index, E element)

    addAll方法

    get方法

    elementData方法

    remove方法

    remove 中主要是将之后的元素都向前一位移动,然后将最后一位的值设置为空。最后,返回已经删除的值。

    remove重载方法

    clear方法

    clear 方法无非就是遍历数组,然后把所有的值都置为 null 。

    相关文章

      网友评论

          本文标题:ArrayList原理解析

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