zoukankan      html  css  js  c++  java
  • java中hashMap的排序

    hashMap排序,示例:

    private void test(){
            Map<String, List<String>> unSupportedDatesMap=new HashMap<String, List<String>>();
            unSupportedDatesMap.put("14:00-18:00", new ArrayList<String>());
            unSupportedDatesMap.put("9:00-12:00", new ArrayList<String>());    
            unSupportedDatesMap.put("19:00-22:00", new ArrayList<String>());
            
            List<Map.Entry<String, List<String>>> intervals =
                    new ArrayList<Map.Entry<String, List<String>>>(unSupportedDatesMap.entrySet());
            
            //排序前
            System.out.println("------------------排序前--------------------------");
            for (int i = 0; i < intervals.size(); i++) {
                String id = intervals.get(i).toString();
                System.out.println(id);
            }
            
            //排序
            Collections.sort(intervals, new Comparator<Map.Entry<String, List<String>>>() {   
                public int compare(Map.Entry<String, List<String>> o1, Map.Entry<String, List<String>> o2) { 
                    String intervalTime1 = o1.getKey();
                    String fromTime1 =intervalTime1.split("-")[0];
                    String intervalTime2 = o2.getKey();
                    String fromTime2 =intervalTime2.split("-")[0];
                    //转换为分钟值
                    String hour1=fromTime1.split(":")[0].trim();
                    String mininute1=fromTime1.split(":")[1].trim();
                    int times1=60*Integer.parseInt(hour1)+Integer.parseInt(mininute1);
                    
                    String hour2=fromTime2.split(":")[0].trim();
                    String mininute2=fromTime2.split(":")[1].trim();
                    int times2=60*Integer.parseInt(hour2)+Integer.parseInt(mininute2);                
                    return (times1 - times2);                 
                }
            }); 
            
            //排序后
            System.out.println("------------------排序后--------------------------");
            for (int i = 0; i < intervals.size(); i++) {
                String id = intervals.get(i).toString();
                System.out.println(id);
            }
        }
  • 相关阅读:
    Hbase 命令小结
    shell while内获取外部变量内容
    Idea的live template参数中的预定义功能
    Adobe Illustrator里使用fontawesome矢量图标
    五笔结构与识别码
    致第一次安装RIME的你
    sublime Text Pastry使用
    PHOTOSHOP CC 2015插件安装方法
    搭建自己的OpenWrt开发环境
    【OpenWRT】 Chaos Calmer 15.05 编译
  • 原文地址:https://www.cnblogs.com/davidwang456/p/5777511.html
Copyright © 2011-2022 走看看