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

来源:互联网 发布:c2运输机知乎 编辑:程序博客网 时间:2024/05/16 17:29
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.

阅读全文
0 0
原创粉丝点击