2017-07-06 7 views
0

ここにLinkedHashMapがあります。その内部に多くの値があるとします。LinkedHashMap#キーがオーバーライドされたときに注文を保存しますか? (JAVA)

LinkedHashMap map = new LinkedHashMap <>();

私の質問は、既存の値の1つが例えばインデックス4であり、同じキーがマップに入力されていた場合、値を置き換えてそのまま4にしますか?それとも、最後に追加されますか?

答えて

0

documentation of LinkedHashMapは、明示的にこれを指摘:

このリンクされたリストは、通常キーがマップ(挿入順)に挿入された順序で繰り返し順序を定義します。 をマップに再挿入した場合、挿入順序には影響しません。だから、値が置き換えられ

m.containsKey(k)前の呼び出しにすぐtrueを返すときm.put(k, v)が呼び出された場合、キーkは。マップmに再挿入されています)が、繰り返し順序は同じままになります。あなたの例では、キー4の項目は反復の同じ位置にとどまります。

関連する問題