ハッシュマップをどのようにソートしますか?

HashMapは順序のない集合であり、並べ替えをサポートしていません。しかし、HashMapのキーまたは値に基づいて並べ替えることができます。

  1. キーによる並べ替え:
  2. HashMapのキーのセットをListに変換し、Collections.sort()メソッドを使用してListをソートする。
  3. HashMap<String, Integer> map = new HashMap<>();
    // マップにキーと値を追加する
    List sortedKeys = new ArrayList<>(map.keySet());
    Collections.sort(sortedKeys);
    // ソートされたキーのリストを反復処理して対応する値にアクセスする
    for (String key : sortedKeys) {
    Integer value = map.get(key);
    System.out.println(key + “: ” + value);
    }
  4. 値に基づいて並び替え:
  5. HashMapのキーと値をListに変換し、Collections.sort()メソッドを使用して、値の大きさに応じてListをソートします。
  6. HashMap<String, Integer> map = new HashMap<>();
    // mapにキーバリューペアを追加
    List<Map.Entry<String, Integer>> sortedEntries = new ArrayList<>(map.entrySet());
    Collections.sort(sortedEntries, (entry1, entry2) -> entry1.getValue().compareTo(entry2.getValue()));
    // ソートされたキーバリューペアをイテレートし、キーと値をアクセス
    for (Map.Entry<String, Integer> entry : sortedEntries) {
    String key = entry.getKey();
    Integer value = entry.getValue();
    System.out.println(key + “: ” + value);
    }

注意:キーまたは値が基本データ型であるHashMapに対してのみ、上記のソート方法が適用可能です。HashMapのキーまたは値がカスタムオブジェクトである場合、ソートを実現するためにはカスタム比較器(comparator)が必要です。

bannerAds