您的位置:首页 > 其它

选择某种Map集合保存学号从1到15的学员的学号(键)和姓名(值),学号用字符串表示,输入的时候要以学号乱序的方式存入Map集合,然后按照学号从大到小的顺序将Map集合中的元素输出打印。需要自定义Ma

2017-11-26 20:01 1061 查看
import java.util.Comparator;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;
public class Map2 {
public static void main(String[] args) {
TreeMap map=new TreeMap(new MyCompatator());
map.put("02", "Lucy2");
map.put("07", "Lucy7");
map.put("08", "Lucy8");
map.put("01", "Lucy1");
map.put("09", "Lucy9");
map.put("03", "Lucy3");
map.put("04", "Lucy4");
map.put("05", "Lucy5");
map.put("06", "Lucy6");
map.put("10", "Lucy10");
map.put("13", "Lucy13");
map.put("14", "Lucy14");
map.put("11", "Lucy11");
map.put("12", "Lucy12");
map.put("15", "Lucy15");
Set keySet=map.keySet();//获取键的集合
Iterator it=keySet.iterator();//Interator对象
while(it.hasNext()){
Object key=it.next();
Object value=map.get(key);//获取的键找到对应的元素
System.out.println(key+":"+value);
}
}
}

class MyCompatator implements Comparator{
//自定义比较器
public int compare(Object obj1, Object obj2) {//实比较方法
String id1=(String) obj1;
String id2=(String) obj2;
return id2.compareTo(id1);
}

}

运行结果:



分析:由于刚开始1-9的学号是输入的1-9导致运行结果出错。因为计算机是15和9比较是1和9比较,导致报错。应将1-9写为01-09.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐