Set集合及子类

Set是一种不重复的数据集合,主要看HashSet和TreeSet

1.HashSet

HashSet构造函数

private transient HashMap<E,Object> map; //使用HashMap来实现
public HashSet() {
        map = new HashMap<>(); //看到它创建了一个HashMap,所以HashSet是通过HashMap来构建的
    }
从上面的代码可以看到,HashSet实质是包装HashMap来实现的,存入HashSet的值只是对应的HashMap的键,value被设置成一个固定的值。

所以想要看HashSet的实现过程需要看HashMap的原理。


2.TreeSet

TreeSet提供了一种有序的,不重复的数据结构,是通过TreeMap来实现。


3.HashSet和TreeSet的区别

a.HashSet是无序的,TreeSet是有序的

b.HashSet和TreeSet都是非线程安全的



猜你喜欢

转载自blog.csdn.net/strong_yu/article/details/70906784
今日推荐