List、Set、Map是继承自Collection吗?

List:

1、可以允许多个重复元素

2、可以插入多个null元素

3、是一个有序容器,保持了每个元素的插入顺序,输出的顺序就是插入的顺序

4、常用的实现类有ArrayList、LinkList和Vector。用的最多的就是ArrayList,它提供了使用索引的随意访问,查询快,增删慢;LinkList则查询慢,增删快。

Set:

1、不允许重复元素

2、只可以插入一个null元素

3、无序容器,无法保证每个元素的存储顺序,TreeSet通过Comparator或者Comparable维护了一个排序顺序

4、Set接口常用的实现类是HashSet、LinkedHashSet以及TreeSet

List和Set是继承自Collection接口,Map不是

Map:

1、Map不是collection的子接口或者实现类。Map是一个接口。
2、Map 的 每个 Entry 都持有两个对象,也就是一个键一个值(键值对),Map 可能会持有相同的值对象但键对象必须是唯一的。
3、TreeMap 也通过 Comparator 或者 Comparable 维护了一个排序顺序。
4、Map 里你可以拥有随意个 null 值但最多只能有一个 null 键。
5、Map 接口最流行的几个实现类是 HashMap、LinkedHashMap、Hashtable 和 TreeMap。(HashMap、TreeMap最常用)

HashMap、TreeMap和HashTable的区别?

Map接口有三个重要的实现类,分别是HashMap、TreeMap和HashTable

HashTable:无序且不允许键和值为null,否则运行时报空指针异常,方法同步,线程安全,很少被推荐

HashMap:无序,键和值可以为null,键不可重复,值可以重复,不同步,用键值对存取的首选

TreeMap:有序,查询结果默认升序,键不可重复,值可以重复

原文地址:https://www.cnblogs.com/elian91/p/11087483.html