ArrayList、HashMap等初始空间大小

来源:互联网 发布:魅色软件 编辑:程序博客网 时间:2024/05/29 15:56

ArrayList的初始容量为10,源码如下

    /**
     * Default initial capacity.
     */
    private static final int DEFAULT_CAPACITY = 10;

底层数据结构是数组结构


    扩容增量:原容量的 0.5倍+1


      如 Array List的容量为10,一次扩容后是容量为16



Vector的初始容量也是10

底层数据结构是数组结构


    加载因子为1:即当 元素个数 超过 容量长度 时,进行扩容


    扩容增量:原容量的 1倍


      如 Vector的容量为10,一次扩容后是容量为20



Hash Map中默认的存储大小就是一个容量为16的数组Hash Map中的数据量>容量*加载因子,而Hash Map中默认的加载因子是0.75),Hash Map的空间将会扩大,而且扩大后新的空间一定是原来的2倍



HashSet:线程不安全,存取速度快


     底层实现是一个HashMap(保存数据),实现Set接口


     默认初始容量为16


     加载因子为0.75:即当 元素个数 超过 容量长度的0.75倍 时,进行扩容


     扩容增量:原容量的 1 倍


      如 Hash Set的容量为16,一次扩容后是容量为32



阅读全文
0 0
原创粉丝点击