请把学生名与考试分数录入到Map中,并按分数显示前三名成绩学员的名字。
public class MapTest {
@SuppressWarnings("unchecked")
@Test
public void test1(){
Map<String,Integer> map = new TreeMap<String,Integer>();
map.put("Tom", 97);
map.put("Lucy", 89);
map.put("Lily", 95);
map.put("Raj", 82);
map.put("Net",99);
//通过.entrySet的方法把map转化为Set
Set<Entry<String, Integer>> entrySet = map.entrySet();
//把Set转化为List
List<Entry<String, Integer>> list = new ArrayList<Entry<String, Integer>>(entrySet);
//用Collections 的 sort(list,comparator)方法对list进行排序
Collections.sort(list,new Comparator<Entry<String, Integer>>(){
@Override
public int compare(Entry<String, Integer> o1,
Entry<String, Integer> o2) {
return o2.getValue()-o1.getValue();//这里用后面减去前面的表示从大到小排序
}
});
//将list中的最大的三个数字所对应的entry输出
for(int i = 0;i<3;i++){
System.out.println(list.get(i));
}
}
}