美文网首页
array list 创建 延迟初始化

array list 创建 延迟初始化

作者: 良人与我 | 来源:发表于2019-07-27 23:27 被阅读0次

array list 创建的时候采用了延迟初始化,
zai new arraylist 时候创建了一个 empty 的数组
当用的时候才会真正的初始化它。

    private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};

    public ArrayList() {
        this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA;
    }

    public ArrayList(int initialCapacity) {
        if (initialCapacity > 0) {
            this.elementData = new Object[initialCapacity];
        } else if (initialCapacity == 0) {
            this.elementData = EMPTY_ELEMENTDATA;
        } else {
            throw new IllegalArgumentException("Illegal Capacity: "+
                                               initialCapacity);
        }
    }

而 ArrayList(int initialCapacity) 方法是初始化一个 initialCapacity 容量的list 。
但是 HashMap 在 java8 的时候 还是初始化了默认空间 16 个size 。

相关文章

  • array list 创建 延迟初始化

    array list 创建的时候采用了延迟初始化,zai new arraylist 时候创建了一个 empty ...

  • 第五章 数组

    1.创建数组 array() 、[]、 list() 、 range() 2.判断数组 is_array() ; ...

  • JavaScript中的数组操作

    创建数组 1)var list=new Array() 创建对象2)var list=[] 字面量 数组方法 1)...

  • R的数组和列表基本操作:创建与访问

    数组 创建数组array() array(向量名,维度说明,dimnames = list(维名称列表)) 列表 ...

  • Java对象延迟初始化的实现

    一、什么是延迟初始化? 在Java多线程程序中,有时候需要采用延迟初始化来降低初始化类和创建对象的开销。延迟初始化...

  • JavaScript之引用类型篇

    Object 字面量创建 new操作符 Array Array基本创建方式有两种构造函数 let list=new...

  • 更多DI的知识

    3.3.1 延迟初始化Bean延迟初始化也叫做惰性初始化,指不提前初始化Bean,而是只有在真正使用时才创建及初...

  • Top 10 Methods for Java Arrays

    1 声明一个array 2 打印一个array 3 从array创建一个list 4 检查array中是否存在某个...

  • Spark 常见

    1.以 List 作为源创建 RDD 初始化 sbgma --> 创建spark实例 3.初始化SparkStre...

  • 标准库:容器

    4.1 std::array 和 std::forward_list std::array会在编译时创建一个固定大...

网友评论

      本文标题:array list 创建 延迟初始化

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