- ハッシュマップを値のリストに変換し、リストをソートする方法:
import java.util.*;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> hashMap = new HashMap<>();
hashMap.put("A", 5);
hashMap.put("B", 2);
hashMap.put("C", 8);
List<Map.Entry<String, Integer>> list = new ArrayList<>(hashMap.entrySet());
list.sort(Map.Entry.comparingByValue());
for (Map.Entry<String, Integer> entry : list) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
- ハッシュマップを値でソートするためのカスタムコンパレータを使用する方法:
import java.util.*;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> hashMap = new HashMap<>();
hashMap.put("A", 5);
hashMap.put("B", 2);
hashMap.put("C", 8);
List<Map.Entry<String, Integer>> list = new ArrayList<>(hashMap.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return o1.getValue().compareTo(o2.getValue());
}
});
for (Map.Entry<String, Integer> entry : list) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
- Java 8以降を使用してハッシュマップを値でソートする方法:
import java.util.*;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> hashMap = new HashMap<>();
hashMap.put("A", 5);
hashMap.put("B", 2);
hashMap.put("C", 8);
List<Map.Entry<String, Integer>> list = new ArrayList<>(hashMap.entrySet());
list.sort(Map.Entry.comparingByValue());
list.forEach(entry -> System.out.println(entry.getKey() + ": " + entry.getValue()));
}
}
これらの方法を使用すると、ハッシュマップの値でソートされたエントリを取得できます。ご希望の方法を選択し、コードをカスタマイズして使用してください。