所有示例均在gihub(ssh_base)中====>https://github.com/chengyangyang

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集合的分析。



  

  

 

posted @ 2019-05-08 15:31  ☞书香门第☜  阅读(153)  评论(0编辑  收藏  举报
http://count.knowsky.com/count1/count.asp?id=434520&sx=1&ys=64"