日期:2014-05-20  浏览次数:20826 次

如何重新设置HashSet的哈希函数?
RT

------解决方案--------------------
hash_set <YourType, YourHashFcn> YourHashSetObject;
------解决方案--------------------
Java的HashSet <E> 使用的hash值是由你放入的那个元素的hashCode()来实现的

比如说
HashSet <String> hashset=new HashSet <String> ();
String str= "fox_for_cloud ";
hashset.add(str);

这时,HashSet用来放置str实例的hash值由str.hashCode()给出的
hashCode()是在Object类里面定义的 如果你放入HashCode的实例的类没有重写过hashCode()的话 就会使用Object类里面定义的哪个 这时hash值就是这个实例的内存地址 这是java中唯一出现过内存地址的地方