代码改变世界

Java HashSet

2012-10-26 00:36  coffeescript  阅读(187)  评论(0)    收藏  举报

HashSet的底层实现是数组,其存储原理、覆盖hashCode()方法的原则如下:

1.一定要让equals()相等的对象返回相同的hashCode

2.尽量让equals()不相等的对象返回不同的hashCode

3.尽量让对象的hashCode随机散列,即平均散列。避免集中到某段范围,影响效率,尽量不要用加减,可以用^;

 

要将equals和hashCode两种方法同时覆盖,才能在hashSet中过滤掉相等的对象。