Set集合及子类

来源:互联网 发布:蔡依林为什么被黑 知乎 编辑:程序博客网 时间:2024/06/15 17:55

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都是非线程安全的



0 0
原创粉丝点击