- HashSet是set接口的典型实现,大多数时候使用Set集合时就是使用这个实现类。HashSet按Hash算法来存储集合中的元素,因此具有很好的存取和查找性能。底层数据结构是哈希表
- HashSet具有以下特点:
- 不能保证元素的排列顺序,顺序可能与添加顺序不同,顺序也可能发生变化
- HashSet不是同步 的
- 集合元素值可以是null
- 采用了散列存储,每个数据值都有对应唯一的地址值
- 内部存储机制
- 当HashSet集合存入一个元素时,HashSet会调用该对象的HashCode方法来得到该对象的HashCode值,然后根据该hashcode方法返回的值不相等,HashSet将会把它们存储在不同位置,依然可以添加成功。
- 也就是说。HashSet判断两个元素的标准是两个对象通过equals()方法比较相等,并且两个对象的hashCode方法返回值也相等
- 靠元素重写hashcode方法和equals方法来判断两个元素是否相等,如果相等则覆盖原来的元素,依此来确保元素的唯一性
相关文章
- 02-22python – 尝试从scikit-learn集合中打印出森林的决策树
- 02-22sql SYS对象集合
- 02-22实变函数【1】集合
- 02-22【数学 扩展欧拉定理】luogu_4139 上帝与集合的正确用法
- 02-22foeach集合遍历
- 02-22Unity动漫游戏集合
- 02-22一手遮天 Android - view(集合类): ViewPager 基础 1
- 02-22使用HashMap或Hashset优化使用循环判断字符串中是否含有重复元素
- 02-22WPF多个列表视图绑定到具有不同排序说明的同一集合
- 02-22CodeGo.net>如何按字母顺序对SortedDictionary集合进行排序