题目
选择合适的Map集合保存5位学员的学号和姓名,然后按学号的自然顺序的倒序将这些键值对一一打印出来。要求如下:
(1)创建TreeMap集合。
(2)使用put()方法将学号和姓名存储到Map中,
存的时候可以打乱顺序观察排序后的效果。
(3)使用map.keySet()获取键的Set集合。
(4)使用Set集合的iterator()方法获得Iterator对象用于迭代键。
(5)使用Map集合的get()方法获取键所对应的值。
代码:
import java.util.*;
public class Test04
{
public static void main(String[] args)
{
TreeMap<String,String> map=new TreeMap<>(new MyComparator());
map.put("1","Lucy");
map.put("4","Aimee");
map.put("2","John");
map.put("5","Amanda");
map.put("3","Smith");
Set<String> set=map.keySet();
Iterator<String> it=set.iterator();
while(it.hasNext())
{
String key=it.next();
System.out.println(key+":"+map.get(key));
}
}
}
class MyComparator implements Comparator
{
public int compare(Object obj1,Object obj2)
{
String ele1=(String)obj1;
String ele2=(String)obj2;
return ele2.compareTo(ele1);
}
}
运行结果及报错内容 :
注: Test04.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
我希望编译不出警告,这个程序运行没有问题,请问需要怎么改?