java练习题10

来源:互联网 发布:游戏源码有什么用 编辑:程序博客网 时间:2024/06/06 05:42

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

要求:必须使用Map集合的内部排序机制进行排序,不能在外部排序。

package test;import java.util.*;public class task3 {        public static void main(String[] args) {            TreeMap map = new TreeMap(new MyComparator());            map.put("01", "tom");            map.put("05", "jack");            map.put("10", "jsony");            map.put("09", "xiaolin");            map.put("02", "lihao");            map.put("11", "wangmin");            map.put("15", "liusang");            map.put("03", "nannan");            map.put("04", "meiling");            map.put("08", "chuhua");            map.put("14", "zhaohe");            map.put("07", "suzhou");            map.put("12", "huge");            map.put("06", "roy");            map.put("13", "jackson");            Set keyset = map.keySet();            Iterator it = keyset.iterator();            while (it.hasNext()) {                Object key = it.next();                Object value = map.get(key);                System.out.println(key + ":" + value);            }        }    }    class MyComparator implements Comparator {        public int compare(Object obj1, Object obj2) {            String id1 = (String) obj1;            String id2 = (String) obj2;            return id2.compareTo(id1);        }}

这里写图片描述

原创粉丝点击