将学生的姓名成绩输入到Map中,并用分数排序前三名

本文介绍了一个使用Java实现的示例程序,该程序利用TreeMap按Key值排序并借助自定义Comparator对Map中的条目按Value值进行逆序排列。通过这个示例,读者可以了解如何操作Java集合框架中的Map和List,并掌握基本的排序技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;


public class TestStudent {
public static void main(String[] args) {
Map map=new TreeMap();//可以key值进行排序
map.put("小明", 60);
map.put("小张", 16);
map.put("小大法师", 34);
map.put("小的", 97);
map.put("小地方", 78);
map.put("水电费", 37);
map.put("阿萨德的是",67);
Set entrySet = map.entrySet();
List list=new ArrayList();
for (Object o : entrySet) {
Map.Entry ent=(Entry) o;
list.add(ent);

}
Collections.sort(list,new Comparator(){


@Override
public int compare(Object o1, Object o2) {
// TODO Auto-generated method stub
if(o1 instanceof Map.Entry&&o2 instanceof Map.Entry){
Map.Entry e1=(Entry)o1;
Map.Entry e2=(Entry)o2;
return-((Integer)e1.getValue()).compareTo((Integer)e2.getValue());
}
return 0;
}
 
 
});
for (int i = 0; i < 3; i++) {
System.out.println((Map.Entry)list.get(i));

}
 
 
 
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值