ホームページ > Java > &#&チュートリアル > Java マップの値をキーごとに並べ替えるにはどうすればよいですか?

Java マップの値をキーごとに並べ替えるにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-30 12:15:14
オリジナル
707 人が閲覧しました

How Can I Sort a Java Map's Values by its Keys?

Java でマップ値をキーで並べ替える

文字列のキーと値を含むマップが与えられた場合、目的はキーを昇順に並べ替えることです。並べ替えられたキーは 2 つの文字列を作成するために使用されます。1 つは並べ替えられた質問を含み、もう 1 つは対応する回答を含みます。

短い回答

マップをキーで並べ替えるには、TreeMap を利用します。 、この目的のために特別に設計されています。 Map タイプが不明な場合は、SortedSet と TreeSet を使用する代替方法を使用できます。

SortedSet<String> keys = new TreeSet<>(map.keySet());
for (String key : keys) {
    String value = map.get(key);
    // Perform desired operations
}
ログイン後にコピー

長い回答

技術的には、SortedMap を実装する任意のクラスを使用できます。ただし、TreeMap が最も一般的な選択肢です。より複雑なキー タイプまたはカスタムの並べ替え要件については、次のコンストラクターを使用してコンパレーターを提供します。

Comparator<Foo> comparator = (Foo o1, Foo o2) -> {
    // Define custom sort logic
};

SortedSet<Foo> keys = new TreeSet<>(comparator);
keys.addAll(map.keySet());
ログイン後にコピー

パフォーマンスに関する考慮事項:

TreeMap と TreeSet は異なることに注意してください。 HashMap および HashSet と比較したパフォーマンス特性。 HashMap では O(1) 時間かかるルックアップ操作は、TreeMap では O(Log(N)) 時間を必要とします。マップ サイズが大きくなると、それに応じて検索時間も増加します。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート