文字列のキーと値を含むマップが与えられた場合、目的はキーを昇順に並べ替えることです。並べ替えられたキーは 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 サイトの他の関連記事を参照してください。