在 Java 7 中,ArrayList 的默认容量是 10 个元素,
HashMap 的默认容量是16个元素(必须是2的幂)。
jdk1.8中,
ArrayList包含了两个重要的对象:elementData 和 size。
elementData 是”Object[] 类型的数组”,它保存了添加到ArrayList中的元素。实际上,elementData是个动态数组,我们能通过构造函数 ArrayList(int initialCapacity)来执行它的初始容量为initialCapacity;如果通过不含参数的构造函数ArrayList()来创建 ArrayList,则在第一次添加元素的时候初始化elementData的容量默认是10。elementData数组的大小会根据ArrayList容量的增长而动态的增长,具 体的增长方式,请参考源码分析中的ensureCapacity()函数。
size 则是动态数组的实际大小。
HashMap原理和ArrayList一样,也是第一次添加元素的时候初始化默认容量。