java常见集合容器的扩容增量
java常见集合容器的扩容增量汇总ArrayList默认初始容量为10扩容为原容量的1.5倍Vector默认初始容量为10扩容为原容量的2倍HashSet默认初始容量为16扩容为原容量的2倍加载因子为0.75HashMap默认初始容量为16扩容为原容量的2倍加载因子为0.75PriorityQueue默认初始容量为11扩容为原容量的1.5倍List 元素是有序的、可重复ArrayList、Vector默认初始容量为10Vector线程安全但速度慢底层数据结构是数组结构加载因子为1即当 元素个数 超过 容量长度 时进行扩容扩容增量原容量的 1倍如 Vector的容量为10一次扩容后是容量为20ArrayList线程不安全查询速度快底层数据结构是数组结构扩容增量原容量的 1.5倍如 ArrayList的容量为10一次扩容后是容量为15Set(集) 元素无序的、不可重复。HashSet线程不安全存取速度快底层实现是一个HashMap保存数据实现Set接口扩容机制和HashMap一样构造方法摘要HashSet()HashSet(int initialCapacity)构造一个新的空 set其底层 HashMap 实例具有指定的初始容量和默认的加载因子0.75。HashSet hsnew HashSet(1);所以可见 HashSet类创建对象的时候是可以的制定容量的大小的 期中第二个就具有这个工功能。Map是一个双列集合HashMap默认初始容量为16为何是1616是2^4可以提高查询效率加载因子为0.75即当 元素个数 超过 容量长度的0.75倍 时进行扩容扩容增量原容量的 1 倍如 HashMap的容量为16一次扩容后是容量为32