方法1: TreeMapを使用する方法
import java.util.*;
public class Main {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
// マップに要素を追加するコード
// TreeMapにマップのエントリーをコピーする
TreeMap<String, Integer> sortedMap = new TreeMap<>(Collections.reverseOrder());
sortedMap.putAll(map);
// ソートされたマップのエントリーを表示する
for (Map.Entry<String, Integer> entry : sortedMap.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
方法2: コンパレータを使用する方法
import java.util.*;
public class Main {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
// マップに要素を追加するコード
// マップのエントリーをリストに変換する
List<Map.Entry<String, Integer>> entryList = new ArrayList<>(map.entrySet());
// エントリーリストをキーで逆順にソートする
entryList.sort(Comparator.comparing(Map.Entry::getKey, Collections.reverseOrder()));
// ソートされたエントリーリストのエントリーを表示する
for (Map.Entry<String, Integer> entry : entryList) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
方法3: Java 8以降の場合、Streamを使用する方法
import java.util.*;
public class Main {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
// マップに要素を追加するコード
// キーで逆順にソートされたストリームを作成する
map.entrySet().stream()
.sorted(Map.Entry.comparingByKey(Collections.reverseOrder()))
.forEach(entry -> System.out.println(entry.getKey() + ": " + entry.getValue()));
}
}
これらの方法を使用すると、JavaでMapをキーの逆順でソートすることができます。適切な方法を選択し、コードを自分の要件に合わせてカスタマイズしてください。