HashSet集合是如何保证元素的唯一性的?
2014-07-14 20:00
253 查看
HashSet集合的特点是元素无序和不重复 。
首先,HashSet的底层数据结构是哈希表。哈希表就是存储一系列哈希值的表,而哈希值是由对象的hashCode()方法生成的。
确保元素唯一性的两个方法,hashCode()和equals()方法。
当调用add()方法向集合中存入对象的时候,先比较此对象与原有对象的哈希值有没有一样的,如果都不一样就直接存入;如果有与之相同的哈希值,则要继续比较这两个对象是否为同一个对象,此时就要调用对象的equals()方法了。
总之,只有HashCode的至相同时,才会调用equals()方法。
在判断元素是否存在和删除一个元素的时候,也是这个过程。
首先,HashSet的底层数据结构是哈希表。哈希表就是存储一系列哈希值的表,而哈希值是由对象的hashCode()方法生成的。
确保元素唯一性的两个方法,hashCode()和equals()方法。
当调用add()方法向集合中存入对象的时候,先比较此对象与原有对象的哈希值有没有一样的,如果都不一样就直接存入;如果有与之相同的哈希值,则要继续比较这两个对象是否为同一个对象,此时就要调用对象的equals()方法了。
总之,只有HashCode的至相同时,才会调用equals()方法。
在判断元素是否存在和删除一个元素的时候,也是这个过程。
相关文章推荐
- 关于HashSet集合是如何保证元素唯一性的
- HashSet集合是如何保证元素的唯一性的?
- 分析HashSet,HashMap源码,如何保证HashSet集合元素唯一性。
- 集合框架_HashSet保证元素唯一性的源码解析
- HashSet如何保证元素唯一性?
- HashSet如何保证元素的唯一性
- Java中HashSet集合如何控制 元素唯一性 总结
- 黑马程序员——集合的特殊功能之HashSet集合如何保证元素的唯一性
- 集合框架-HashSet存储元素保证唯一性的图解
- 集合框架_HashSet保证元素唯一性的代码体现及图解
- 解说HashSet如何保证元素的唯一性
- HashSet如何保证元素的唯一性-跟踪源码解析
- HashSet存储自定义对象如何保证唯一性
- HashSet保证元素唯一性的原理
- HashSet保证元素唯一性源码展示
- Java_基础—HashSet存储自定义对象保证元素唯一性
- HashSet保证元素唯一性原理图解
- HashSet存储自定义对象如何保证唯一性
- 使用HashSet和TreeSet存储多个商品信息,遍历并输出;其中商品属性:编号,名称,单价,出版社;要求向其中添加多个相同的商品,验证集合中元素的唯一性。 提示:向HashSet中添加自定义
- 集合框架_TreeSet保证元素唯一性和比较器排序的原理及代码实现