黑马程序员技术交流社区

标题: 关于集合中去元素重复性的底层原理? [打印本页]

作者: collection    时间: 2015-5-17 10:00
标题: 关于集合中去元素重复性的底层原理?
关于集合中去元素重复性的底层原理?

作者: zouzouzou    时间: 2015-5-17 10:00
先通过判断元素的哈希值,元素的哈希值hashCode()一致了,这时会再次判断元素的内容是相同(equals())
如果equals返回true,意味着元素相同,不存!
如果equals返回false,意味着两个元素不相同,存储,继续通过算法算出位置。拉链法!
所以存储在set接口容器中存储元素时,该元素必须要有哈希算法和equals方法。而且需要重写Object类中的方法。元素在add时,必须先执行元素的哈希算法,如果哈希值不一样,在使用元素的equals方法判断内容。

作者: 791008594    时间: 2015-5-18 01:20
主要这两个方法重写一些就好了hashCode()和equals()




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