本文主要是介绍Java集合框架源码分析:HashSet,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、HashSet特性
特性 | 描述 |
---|---|
是否允许为null | 允许 |
是否允许数据重复 | 不允许 |
是否有序 | 无序 |
是否线程安全 | 非线程安全 |
二、HashSet底层实现
HashSet的底层实现是基于HashMap的。构造方法如下:
public HashSet() {map = new HashMap<>();}public HashSet(int initialCapacity) {map = new HashMap<>(initialCapacity);}
HashSet添加元素:
private static final Object PRESENT = new Object();public boolean add(E e) {return map.put(e, PRESENT)==null;}
由添加方法可以看出HashSet底层使用了HashMap作为存储结构且HashMap的value是一个常量,HashSet的值保存在key中。
这篇关于Java集合框架源码分析:HashSet的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!