2017-07-06 73 views
0

這裏是一個LinkedHashMap,想象它裏面有很多值。當重寫鍵時,LinkedHashMap#會保持順序嗎? (JAVA)

LinkedHashMap map = new LinkedHashMap <>();

我的問題是,如果其中一個現有值是,例如,在索引4並且同一個鍵被輸入到映射中,它是否會簡單地替換該值並保持在4?或者,它會添加到底?

回答

0

documentation of LinkedHashMap明確地指出了這一點:

該鏈接列表定義迭代排序,這通常是在哪個鍵被插入到圖(插入順序)的順序。請注意,如果某個關鍵字重新插入到地圖中,廣告訂單不會受到影響。 (A鍵k重新插入地圖m如果在m.containsKey(k)將返回true之前立即調用m.put(k, v)被調用。)

所以值被替換,但迭代順序將保持不變。就你的例子而言,鍵4的輸入將保持在迭代的相同位置。