Collection <类型>
List 可以重复,有顺序
ArrayList 主选
结构:数组 特点:查找快,增删慢 线程不安全,效率高
Vector
结构:数组 特点:查找快,增删慢 线程安全,效率低
LinkedList
结构:链表 特点:查找慢,增删快 线程不安全,效率低
Set 唯一性,没有顺序
HashSet
结构:哈希表 通过hashCode()、equals()保证元素的唯一性 元素的排列是无序的 线程不安全
LinkedHashSet
结构:链表+哈希表 通过hashCode()、equals()保证元素的唯一性 由链表保证元素有序 线程不安全
TreeSet
结构:红黑树 排序方法有自然排序、比较器排序 唯一性通过存放值时比较返回值是否为0,0既有相同值 线程不安全
TreeSet实现了对TreeMap的封装
Map<key,value>
HashMap 主选
结构:哈希表(数组+链表) 只允许一个key为null,可多个值为null 线程不安全
通过hashCode()、equals()保证元素的唯一性,hashCode()定位数组,equals定位链表位置
实现了Serializable接口,因此它支持序列化,实现了Cloneable接口,能被克隆
HashTable
结构:哈希表 不允许null做为key 线程安全
实现了Serializable接口,它支持序列化,实现了Cloneable接口,能被克隆
TreeMap
结构:红黑树 排序方法有自然排序、比较器排序 线程不安全
LinkedHashMap
结构:数组+双链表 线程不安全 继承自HashMap
实现了Serializable接口,它支持序列化,实现了Cloneable接口,能被克隆
与HashMap相比,LinkedHashMap 的元素是有序的