🐵 #面试 #ChangCQC #JinXD
List
和Set
继承自Collection
接口。List
按 放入顺序 排序,允许重复;Set
按hashCode()
排序,不允许重复;Map
的键
(key
)不允许重复。List
查找效率比Set
高。(List
支持下标和迭代器查找,而Set
仅支持迭代器。)List
插入和删除的效率比Set
低。Map
存储键-值
(key-value
)对。 |Set
|List
|Map
| | —- | —- | —- | | 继承自Collection
接口 | | 继承自Map
| | 集合:不允许内容重复; | 链表:允许内容重复; |HashMap
不允许重复; | |TreeSet
有序,HashSet
无序(常用); | 按 放入顺序 排序; |HashMap
无序(常用),LinkedHashMap
和TreeMap
按 放入顺序 排序; |
TreeSet
底层是红黑树;TreeSet
线程不安全;LinkedHashMap
底层是散列表数组,拉链法解决冲突;TreeMap
底层是红黑树;HashMap
底层是一个散列表数组,拉链法解决冲突,尾插法(JDK8),当链表过长时,转换成红黑树。HashMap
的初试容量为16;