1. ホーム
  2. java

[解決済み] LinkedHashMapオブジェクトからキーと値を返す際の順序は保証されていますか?

2022-04-21 22:57:53

質問

知っている LinkedHashMap は、反復順序(挿入順序)が予測可能です。は予測できるのでしょうか? Set が返す LinkedHashMap.keySet()Collection が返す LinkedHashMap.values() もこの順番を守っているのでしょうか?

解決方法は?

<ブロッククオート

Map インターフェースは、以下の3つの機能を提供します。 コレクションビュー マップの内容は、以下のように表示できます。 キーの集合、値の集合、または のキーバリューマッピングの また オーダー の マップは のイテレータは、マップのコレクションの ビューはその要素を返します。いくつかのマップ のような実装は TreeMap クラスは のようなものもあります。 HashMap クラスは、そうではありません。

-- 地図

このリンクリストはイテレーションを定義する の順番で、通常は に挿入されたキーは マップ ( 挿入順 ).

-- LinkedHashMap

そう、そうなんです。 keySet() , values() および entrySet() (前述の3つのコレクションビュー)は、内部リンクリストが使用する順序で値を返します。 そして、そうです。 MapLinkedHashMap はそれを保証する。

やはりそれがこの授業のポイントですね。