🐵 #面试 #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;
