HashSet
Set集合的最主要特性就是没有重复元素,HashSet是Set的一个字类,其内部基于HashMap实现,因此HashSet的实现比较简单,相关HashSet的操作,基本上都是直接调用底层HashMap的相关方法来完成
// 底层使用HashMap来保存HashSet的元素
private transient HashMap<E,Object> map;
// 由于Set只使用到了HashMap的key,所以此处定义一个静态的常量Object类,来充当HashMap的value
private static final Object PRESENT = new Object();
总结
- HashSet非线程安全
- HashSet基于HashMap实现无容量限制
- 允许null值
- 添加值得时候会先获取对象的hashCode方法,如果hashCode 方法返回的值一致,则再调用equals方法判断是否一致,如果不一致才add元素
HashSet是Set接口的一个实现类,它所存储的元素是不可重复的,并且元素都是无序的。HashSet内部通过HashMap数据结构来实现,利用对象的hashCode和equals方法确保元素的唯一性,允许存储null值。
593

被折叠的 条评论
为什么被折叠?



