我有散列表,它有這樣的鍵:'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