黑马程序员技术交流社区

标题: Set里的元素是不能重复的,用什么来判断 [打印本页]

作者: 李龙龙    时间: 2011-11-24 23:30
标题: Set里的元素是不能重复的,用什么来判断
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
作者: 袁世宇    时间: 2011-11-24 23:35
是用equals()判断的 ,里面好像从写hashcode方法,然后进行判断的
equals()是判断两个值是否相等
==是判断两个对象是不是同一个对象
作者: 颜小飞    时间: 2011-11-27 18:04
先根据元素的hashcode()方法来计算一个值,根据这个值来找这个元素在内存中就应该存在的位置区间。然后调用equals方法来判断这个区间有无这个元素。
如果没有这个元素,就可以把这个元素放进去,有就不能放进去了。
作者: 刘一扬    时间: 2011-11-28 15:53
先调用hashCode  来获取对象保存的地址,   如果此地址已保存元素, 则调用equals方法 比较两个对象是否相等,假如相等,则不增加元素,不想等,则将元素保存到set集合中,  假如调用hashCode 获取保存地址后此地址没有元素 , 则直接将元素保存到集合中




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2