Java 順序付きマップ 質問する

Java 順序付きマップ 質問する

Java には、キーと値のペアを保存およびアクセスするための Map のように機能し、キーと値のリストが同じ順序になるように、順序付けられたキーのリストと順序付けられた値のリストを返すことができるオブジェクトがありますか?

コードによる説明として、架空の OrderedMap のように動作するものを探しています。

OrderedMap<Integer, String> om = new OrderedMap<>();
om.put(0, "Zero");
om.put(7, "Seven");

String o = om.get(7); // o is "Seven"
List<Integer> keys = om.getKeys();
List<String> values = om.getValues();

for(int i = 0; i < keys.size(); i++)
{
    Integer key = keys.get(i);
    String value = values.get(i);
    Assert(om.get(key) == value);
}

ベストアンサー1

ソートマップインターフェース(実装ツリーマップ) はあなたの友達になるはずです。

インターフェースには次のメソッドがあります:

  • keySet()キーのセットを昇順で返します
  • values()対応するキーの昇順ですべての値のコレクションを返します。

このインターフェースはまさにあなたの要件を満たしています。ただし、キーは意味のある順序でなければなりません。そうでない場合は、リンクハッシュマップ順序は挿入順序によって決まります。

おすすめ記事