ホームページ >Java >&#&チュートリアル >Java HashMap を値でソートするにはどうすればよいですか?

Java HashMap を値でソートするにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-07 13:36:18317ブラウズ

How Can I Sort a Java HashMap by Its Values?

Java での HashMap の並べ替え: 値ベースのテクニック

Java では、HashMap はキーと値のペアを格納するための貴重なコレクションですが、特定の並べ替え順序は維持しません。値に基づいて HashMap を並べ替えるには、追加のテクニックを採用する必要があります。

値ベースの並べ替えのアプローチ

1 つのアプローチは、HashMap を次のリストに変換することです。 value() メソッドを使用して値を取得します。次に、目的の並べ替えロジックを定義するコンパレータを使用してリストを並べ替えます。

Map<String, Person> people = new HashMap<>();
Person jim = new Person("Jim", 25);
Person scott = new Person("Scott", 28);
Person anna = new Person("Anna", 23);

people.put(jim.getName(), jim);
people.put(scott.getName(), scott);
people.put(anna.getName(), anna);

List<Person> peopleByAge = new ArrayList<>(people.values());
Collections.sort(peopleByAge, Comparator.comparing(Person::getAge));

リストを並べ替えた後、並べ替えられた要素にアクセスできます。

頻繁なアクセスに適した別のアプローチ、ソートされたセットへの HashMap マッピングを作成することです。たとえば、HashMap> を使用できます。

TreeMap に関する考慮事項

キーによる並べ替えが優先される場合は、代わりに TreeMap の使用を検討する価値があります。 TreeMap は、キーに基づいて自然な並べ替え順序を自動的に維持します。

以上がJava HashMap を値でソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。