Java集合框架--MapTest

来源:互联网 发布:如何恢复u盘数据 编辑:程序博客网 时间:2024/06/05 06:12

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

       需要自定义Map集合的比较器Comparator,因字符串对象的大小比较是按字典序,而非对应的数值。 

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


1.MapTest.java

import java.util.Comparator;  import java.util.HashMap;  import java.util.Map;  import java.util.TreeMap;    public class MapTest {      public static void main(String[] args) {          TreeMap<String, String> map=new TreeMap<String, String>();          map.put("1103","张三");         //学号乱序添加元素          map.put("1102","李四");             map.put("1113","王五");             map.put("1115","刘芳");             map.put("1102","王伟");             map.put("1101","李刚");             map.put("1104","梨花");            map.put("1106","大幅度");            map.put("1105","弟弟");            map.put("1109","从此");            map.put("1107","好的");            map.put("1112","考虑");            map.put("1111","答复");            map.put("1108","la");             map.put("1114","了解");             map.put("1110","欧文");             Map<String, String> resultMap = sortMapByKey(map);                for(Map.Entry<String, String> entry : resultMap.entrySet()) {              System.out.println(entry.getKey() + " " + entry.getValue());          }      }       public static Map<String, String> sortMapByKey(Map<String, String> map) {          if (map == null || map.isEmpty()) {              return null;          }          Map<String, String> sortMap = new TreeMap<String, String>(new MapKeyComparator());          sortMap.putAll(map);          return sortMap;      }  }   class MapKeyComparator implements Comparator<String>{        @Override      public int compare(String o1, String o2) {          return o1.compareTo(o2);      }  }  
2.运行截图

 

原创粉丝点击