怎么用Java哈希表给学生成绩排序
时间: 2023-08-09 15:10:37 浏览: 42
可以使用Java哈希表(HashMap)来存储学生成绩信息,然后可以将学生成绩信息存储在一个List中,利用Collections.sort()方法对List进行排序,最后输出排序后的学生成绩信息。
以下是一个示例代码:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Map<String, Integer> scores = new HashMap<>();
scores.put("张三", 85);
scores.put("李四", 90);
scores.put("王五", 75);
scores.put("赵六", 80);
scores.put("陈七", 95);
List<Map.Entry<String, Integer>> list = new ArrayList<>(scores.entrySet());
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()); // 降序排序
}
});
System.out.println("排序后的学生成绩信息:");
for (Map.Entry<String, Integer> entry : list) {
System.out.println(entry.getKey() + ":" + entry.getValue() + "分");
}
}
}
```
输出结果为:
```
排序后的学生成绩信息:
陈七:95分
李四:90分
张三:85分
赵六:80分
王五:75分
```
以上代码中,先将学生成绩信息存储在一个哈希表中,然后将哈希表中的entry集合转换成List,利用Collections.sort()方法对List进行排序,最后遍历排序后的List输出学生成绩信息。比较函数中使用o2.getValue().compareTo(o1.getValue())实现降序排序。