2012-05-22 86 views
361

我正在使用HashMap。當我迭代地圖時,數據以(通常是相同的)隨機順序返回。但數據是按特定順序插入的,我需要保留插入順序。我怎樣才能做到這一點?如何在HashMap中保留插入順序?

+11

http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMap.html –

回答

813

LinkedHashMap正是你在找的東西。

它與HashMap完全一樣,不同之處在於,當您迭代它時,它會按插入順序顯示這些項目。

+6

根據java doc它說:這個鏈表定義了迭代排序,這通常是順序在哪些按鍵被插入到地圖中。常見?????這是什麼意思?訂單插入不保證.... – Xenione

+14

@ Xenione:您可以在廣告訂單和訪問訂單之間進行選擇。查看http://bit.ly/1jZXlCl的最後一個參數 – NPE

+6

@ Xenione [注意,如果將鍵重新插入到映射中,則插入順序不受影響],當鍵放置兩次時第二個鍵不會改變由於鍵的唯一性,所以迭代順序的順序並不完全是插入順序;通常意味着如果鍵是唯一的 –