写段hashMap用值排序的代码
时间: 2023-05-26 10:02:23 浏览: 88
以下是用值排序HashMap的代码示例:
```java
import java.util.*;
public class SortHashMapByValue {
public static void main(String[] args) {
// 创建HashMap并添加元素
HashMap<String, Integer> hashMap = new HashMap<>();
hashMap.put("John", 85);
hashMap.put("Jack", 60);
hashMap.put("Mary", 73);
hashMap.put("Peter", 92);
hashMap.put("Tom", 78);
// 将HashMap中的元素存入List中
List<Map.Entry<String, Integer>> list = new LinkedList<>(hashMap.entrySet());
// 对List进行排序,按照value从大到小的顺序
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
@Override
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return o2.getValue().compareTo(o1.getValue());
}
});
// 创建一个新的有序HashMap
LinkedHashMap<String, Integer> sortedHashMap = new LinkedHashMap<>();
for (Map.Entry<String, Integer> entry : list) {
sortedHashMap.put(entry.getKey(), entry.getValue());
}
// 打印有序HashMap
System.out.println("排序后的HashMap:");
for (Map.Entry<String, Integer> entry : sortedHashMap.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
```
输出结果如下:
```
排序后的HashMap:
Peter: 92
John: 85
Tom: 78
Mary: 73
Jack: 60
```
阅读全文