Set集合源码

123 阅读1分钟

HashSet源码:

链接:www.cnblogs.com/whgk/p/6114…

底层为hash表,依赖于hashMap,元素是无序的且不能重复,非线程安全,并且可以存储null值。

TreeSet源码:

链接:www.cnblogs.com/skywang1234…

底层基于TreeMap实现的,可以是有序的,主要依赖于Comparable自然排序和Comparator进行排序。 非线程安全。 TreeSet中含有NavigableMap类型的成员变量,实际上这个NavigableMap是TreeMap的实例,因为TreeMap实现了NavigableMap该接口。

LinkedHashSet源码:

底层使用LinkedHashMap存储元素,是有序的,只能按照插入的顺序排序的。