| List | Set | Map | |
|---|---|---|---|
| 数据格式 | 元素有序可重复 | 元素无序不重复 | key无序不重复,value无序可重复 |
| 是否实现了Collection接口 | 是 | 是 | 否 |
List:
-
ArrayList:Object[]数组
Vector:Object[]数组
linkedList:双向链表(jdk1.6之前为循环链表,jdk1.7取消了循环)
Set:
-
HashSet(无序,唯一):基于HashMap实现的,底层采用HashMap来保存元素
linkedHashSet:linkedHashSet是HashSet的子类,并且其内部通过linkedHashMap来实现。
TreeSet(有序,唯一):红黑树(自平衡的排序二叉树)
Map:
-
HashMap:由数组+链表组成。jdk1.8以后在解决哈希冲突时,当链表长度大于阈值(默认为



