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