ホームページ >Java >&#&チュートリアル >Java HashMap を値でソートするにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。