我需要解決兩個問題,我們的項目,其中(1)我必須找到一種方法,我可以保留一個數組(String []或int [])作爲地圖。要求是,如果兩個數組的內容相同(String [] a = {「A」,「B」},String [] b = {「B」,「A」}),那麼它們應該被視爲等於/相同的鍵,即,如果我使用a或b作爲Map的鍵,則a.equal(b)= true字符串數組作爲HashMap的鍵
我發現Java集增加了存儲在其中的所有對象的哈希碼。散列碼的添加允許比較兩個哈希集,以查看它們是否相等,這意味着這種機制允許根據其內容比較兩個Java集。
因此,對於上述問題,我可以使用套件作爲地圖的關鍵,但事情是我想使用數組作爲關鍵。那麼對此有何想法? (2)接下來的事情是,我們對高效的部分密鑰匹配機制感興趣。例如,查看Map中的任何鍵是否包含數組的一部分,例如查找Key.contains(new String [] {「A」})。
請分享您的想法,任何替代方式,我關心空間和時間的最佳實施。這將在數據流處理項目中使用。所以空間和時間確實是一個問題。
爲了方便起見,您可能會更喜歡'Set';這樣,你可以保證圍繞'equals'和'hashCode'發生的行爲。 – Makoto
也參見[能否Java數組被用作一個HashMap鍵](http://stackoverflow.com/questions/16839182/can-a-java-array-be-used-as-a-hashmap-key)。正如所建議的,你應該使用'Set'來代替,因爲你不能覆蓋數組的'equals' /'hashCode'的行爲。 –
好的,第二個問題呢,有什麼想法? – Zubair