HashSet LinkedHashSet TreeSet 分析

  1.HashSet分析

  hashset 底层是hash表,就是hashMap,是无序的,唯一的.也就是说,它的底层其实就是一个HashMap  key 值的组成值。所以具有唯一性。 

public HashSet() {
        map = new HashMap<>();
    }

  2.LinkedHashSet  底层就是链表和hash表,由链表来保证顺序,用hash表保证唯一性。相当于使用的是 LinkedHashMap,

HashSet(int initialCapacity, float loadFactor, boolean dummy) {
        map = new LinkedHashMap<>(initialCapacity, loadFactor);
    }

  3.TreeSet  底层数据结构是红黑树,唯一,有序 相当于TreeMap

public TreeSet() {
        this(new TreeMap<E,Object>());
    }

这些,参考map集合的分析。



  

  

原文地址:https://www.cnblogs.com/chengyangyang/p/10832160.html