java集合类源码分析之Set详解-创新互联
Set集合与List一样,都是继承自Collection接口,常用的实现类有HashSet和TreeSet。值得注意的是,HashSet是通过HashMap来实现的而TreeSet是通过TreeMap来实现的,所以HashSet和TreeSet都没有自己的数据结构,具体可以归纳如下:
•Set集合中的元素不能重复,即元素唯一
•HashSet按元素的哈希值存储,所以是无序的,并且最多允许一个null对象
•TreeSet按元素的大小存储,所以是有序的,并且不允许null对象
•Set集合没有get方法,所以只能通过迭代器(Iterator)来遍历元素,不能随机访问
1.HashSet
下面给出HashSet的部分源码,以理解它的实现方式。
static final long serialVersionUID = -5024744406713321676L; private transient HashMapmap; // Dummy value to associate with an Object in the backing Map private static final Object PRESENT = new Object();
网页标题:java集合类源码分析之Set详解-创新互联
网站链接:http://tyjierui.cn/article/hssgc.html