我有散列表,它有这样的键:'2 + 4 + 5','653 + 65 + 1324 + 75'(用+符号分隔的整数值)好散列码,等于一个具有多个整数值的键的实现
什么可能是一个好的hashcode和equals方法,以便像'2 + 4 + 5','5 + 4 + 2','4 + 5 + 2'...这样的键(所有2的排列,4,5)应该返回相同的哈希码值,等于应该返回true。
我打算在键中取整数值,对它们进行排序,将它们按照升序放入一个字符串中,并调用该字符串hashcode和equals方法。假设如果我有'5 + 2 + 4',那么我会将它改为“245”并调用字符串hashcode和equals方法。但是这将是一个昂贵的操作,因为每次我必须进行分类。而在像放HashMap的所有方法,得到...将再次昂贵
是否有一个日志或线性时间这样做的任何其他方式...
有一个关键的“2 + 4 + 5 “看起来有点腥 - 这真的是一个伪装的对象吗?如果是这样,编写散列码可能更自然。 – 2012-04-23 22:57:41