A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© @白纸嘿字@   /  2015-9-30 01:14  /  5446 人查看  /  24 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

雨来 高级黑马 2015-10-13 15:26:06
21#
1、equals方法用于比较对象的内容是否相等(覆盖以后)
2、hashcode方法只有在集合中用到
3、当覆盖了equals方法时,比较对象是否相等将通过覆盖后的equals方法进行比较(判断对象的内容是否等)。
4、将对象放入到集合中时,首先判断要放入对象的hashcode值与集合中的任意一个元素的hashcode值是否相等,如果不相等直接将该对象放入集合中。如果hashcode值相等,然后再通过equals方法判断要放入对象与集合中的任意一个对象是否相等,如果equals判断不相等,直接将该元素放入到集合中,否则不放入
回复 使用道具 举报
理解就行了,但要回用,不要挖掘的太深,太深的东西,就算现在记住了,短时间内不用,也会忘了的
回复 使用道具 举报
当往HashMap集合里添加元素的时候,首先是执行hashCode方法,获取存入该键值对的位置,然后如果该位置没有其他键值对占用,那么直接存在这个位置;如果已经有键值对在这个位置了,那就调用equals方法,判断这两队键值对是否是一样的内容,若是则不存,若不是则可能以顺延的方式往后判断直到是空位置就存入的方式,也可能是其他的方式解决。希望可以帮到你!
回复 使用道具 举报
进来看看
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马