黑马程序员技术交流社区
标题:
Collection集合问题
[打印本页]
作者:
lostnotes
时间:
2015-4-27 21:51
标题:
Collection集合问题
HashSet是如何保证元素唯一性的?
作者:
Chans_宇
时间:
2015-4-27 22:26
引用类型的话通过改写hashCode()和equals()方法,这两个方法在你要存放的对象元素的实现类上改,一些特殊类如String类已经改写了这两个方法,直接存就行……至于数值类型的直接存……
作者:
Richard926
时间:
2015-4-27 23:04
今天晚上刚总结的:HashSet的底层数据结构是哈希表,它依赖hashCode()和equals()两个方法判断对象唯一。首先判断对象的hashCode()值是否相同。如果不同就直接添加到集合;如果相同,继续走equals(),看返回值是true还是false,若是true说明有元素重复则该元素不添加到集合中,若是false说明元素不重复则该元素添加到集合中。
作者:
王善辉
时间:
2015-4-27 23:20
hashcode() 和equals()
作者:
谢永烽
时间:
2015-4-28 16:36
就比如说判断一个人的名字和年龄, 装入HashSet集合中后,底层会产生一个哈希值,当有另一个学生装
作者:
谢永烽
时间:
2015-4-28 16:40
就比如说判断一个人的名字和年龄, 装入HashSet集合中后,底层会产生一个哈希值与之相对应,当有另一个学生装进来后会先通过HashSet集合中的hashcode()方法,判断名字是否相同,若同名会调用equals()方法 比较年龄值是否相同。保证值的唯一性 通过的就是 hashcode()方法 和equals()方法
作者:
wnk77521
时间:
2015-4-28 16:50
是通过 hashcode算法与equals 来保证的 元素唯一性的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2