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

  

  

上一篇:uoj 41 【清华集训2014】矩阵变换 婚姻稳定问题


下一篇:Error:Execution failed for task ':app:clean'. > Unable to delete directory: ***/app/build/generated/***