作业帮 > 综合 > 作业

set集合中是怎么确保集合元素的唯一性?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/02 01:28:13
set集合中是怎么确保集合元素的唯一性?
他的实现原理是什么?
因为java的collection很多都需要hashCode(),例如HashTable
比如说你往里面存了一个值,你在取这个值的时候,java实际上通过hashCode()来找那个值,因为这样通常比较快.如果你覆盖了equals()方法,意味着原来不相等的两个对象现在可能变得相等,但hashCode()的值却不相等,这样你使用HashTable就会出现存进去的东西找不到.
不要忽略这个问题,因为HashTable等等类用的非常多,很可能就在一个你不知道的地方间接地用到了.java类的一个原则就是:你定义的任何类,都要考虑覆盖equals和hashCode方法.否则你的类就不能给其他人或其他地方用.