我插入的ArrayList到地圖(對象ID作爲密鑰和對象作爲值)。的Hashmap插入第一個記錄在第12索引
第一次插入發生在第12個索引處。
由於HashMap的默認大小爲16,它將在第一個索引中插入第4條記錄(因爲到達最後的索引意味着第16條)。
所以我得到錯誤的順序。即使我試過LinkedHashMap
。相同的結果即將到來。
這裏是我的代碼:
for (Type object: Objects) {
map.put(object.obj.getId() , object);
}
請幫我解決這個問題。
謝謝。
你期望什麼順序? HashMap沒有排序? LinkedHashMap爲您提供了廣告訂單。如果你想要排序的鍵,使用TreeMap。 – Eran
@Eran我在Map中插入6條記錄。插入從第12個索引開始。 (我通過調試看到了。)但是我想從第一次開始。 –
你不控制索引(至少不是直接)。索引是根據'hashCode'確定的。無論如何,你不應該關心索引。 – Eran