ArrayList
默认初始容量10 加载因子 1 扩容1.5倍
底层数据结构是数组结构
线程不安全,效率高
Vector
默认初始容量10 加载因子1 扩容2倍
底层数据结构是数组结构
线程安全,效率低
若有设置的初始容量使用设置的初始容量。
HashSet
初始容量是16(2的n次方) 加载因子0.75 扩容2倍
底层实现是一个HashMap(保存数据),实现Set接口
若有设置初始容量,则使用大于此初始容量的2的幂。
TreeSet
底层结构是TreeMap (红黑树–2叉树中的一种)
TreeSet线程不安全,性能不如HashSet
但是有序(String自然顺序,不是插入顺序),不可重复
插入元素如果为非基本类型则需要可比性(Comparable)
================================================================
HashMap
默认初始容量是16(2的n次方) 加载因子0.75 扩容2倍
若有设置初始容量,则使用大于此初始容量的最小2的幂。
线程不安全,效率高
支持key跟value为null
HashTable
默认初始容量为11,加载因子为0.75 扩容2倍+1
线程安全,效率低
若有设置初始容量,则使用此值。
不支持key跟value为null
TreeMap
底层结构是红黑树(2叉树中的一种)
TreeMap线程不安全, 有序(String自然顺序(定制顺序),不是插入顺序)
插入元素如果为非基本类型则需要可比性(Comparable)
key不能为null,值可以为null
================================================================
LinkedList 链表