ホームページ >Java >&#&チュートリアル >Java マップの値をキーで並べ替えるにはどうすればよいですか?
Java でマップをキーで並べ替えることは、データの整理と取得に不可欠です効率的に。このガイドでは、このタスクに取り組む方法に焦点を当て、さまざまなマップ タイプのソリューションを提供します。
TreeMap<String, String> questions = new TreeMap<>(); questions.put("question1", "1"); questions.put("question9", "1"); questions.put("question2", "4"); questions.put("question5", "2"); // Iterate over the sorted keys and get the values for (Map.Entry<String, String> entry : questions.entrySet()) { System.out.println(entry.getKey() + ": " + entry.getValue()); }自動キー ソートが必要なシナリオ用, TreeMap は理想的なソリューションです。要素は自然にソートされた順序で維持されます。つまり、キーは辞書順にソートされます。以下に例を示します:</p> <p></p> <p><h3>カスタム コンパレータを使用したマップ キーの並べ替え</h3></p> <pre class="brush:php;toolbar:false">// Define a custom comparator Comparator<MyObject> comparator = new MyObjectComparator(); // Create a sorted map using the comparator TreeMap<MyObject, String> sortedMap = new TreeMap<>(comparator); // Add objects to the map sortedMap.put(new MyObject("Object1"), "Value1"); sortedMap.put(new MyObject("Object3"), "Value3"); sortedMap.put(new MyObject("Object2"), "Value2");マップのキーが Comparable を実装していないカスタム オブジェクトである場合、次のことができます。カスタム コンパレータを使用して、キーの並べ替えがどのように行われるかを指定します。 TreeMap または TreeSet を使用すると、初期化中に Comparator を提供できます。
SortedSet<String> keys = new TreeSet<>(map.keySet()); for (String key : keys) { System.out.println(key + ": " + map.get(key)); }別のアプローチは、TreeSet を使用することです。要素の昇順を提供します。これには、マップのキーから TreeSet を作成し、ソートされたキーを反復処理して対応する値を取得することが含まれます。
以上がJava マップの値をキーで並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。