欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java中hashMap的排序

发布时间:2025/4/5 编程问答 34 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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);}}

 

转载于:https://www.cnblogs.com/davidwang456/p/5777511.html

总结

以上是生活随笔为你收集整理的java中hashMap的排序的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。