在下面的代碼:String鍵混合使用大寫覆蓋條目的Hashmap
HashMap<String, Integer> hm = new HashMap<String, Integer>();
hm.put("Driller", 0);
hm.put("Planner", 1);
「規劃」條目覆蓋「鑽」。它們各自的哈希碼顯然不同。如果鑰匙只是小寫(「司鑽」和「計劃者」),然後正常工作。但是,由於項目內部的不同原因,無法更改關鍵案例。
我正在使用JDK 7 Update 25 64位,但據我所知String自從早期版本以來,hashcodes已經非常穩定。
你知道發生了什麼,我該如何解決?
當我試圖在添加這兩個條目後SOP地圖時,我得到了這個輸出 - * {Planner = 1,Driller = 0} *。我沒有看到'Driller'被'Planner'覆蓋。 – SudoRahul
@ R.J:相同。我做到了。沒問題。 –
你是指訂單更改? 試試這個答案, http://stackoverflow.com/questions/10710193/java-hashmap-how-to-preserve-inserting-order – user1490927