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);
            }
        }
  • 相关阅读:
    04_移动端-伪元素选择器
    03_移动端-结构伪类选择器
    02_移动端-属性选择器
    Dva+Antd创建React项目(一)
    Windows 10 使用打印机扫描
    中间件-redis
    #期望dp#51nod 2015 诺德街
    Codeforces Round #685 (Div. 2)
    USACO 4.2
    #保序回归问题,单调栈,二分#洛谷 5294 [HNOI2019]序列
  • 原文地址:https://www.cnblogs.com/davidwang456/p/5777511.html
Copyright © 2011-2022 走看看