java中hashMap的排序
发布时间:2020-12-14 06:21:43 所属栏目:Java 来源:网络整理
导读:hashMap排序,示例: > unSupportedDatesMap= HashMap > "14:00-18:00", ArrayList "9:00-12:00", ArrayList "19:00-22:00", ArrayList List/spanMap.EntryString,ListString intervals = span style="color: #0000ff;"gt;new/span ArrayListMap.EntryString,
hashMap排序,示例: List</span><Map.Entry<String,List<String>>> intervals =
<span style="color: #0000ff;">new</span> ArrayList<Map.Entry<String,List<String>>><span style="color: #000000;">(unSupportedDatesMap.entrySet());
</span><span style="color: #008000;">//</span><span style="color: #008000;">排序前</span>
System.out.println("------------------排序前--------------------------"<span style="color: #000000;">);
</span><span style="color: #0000ff;">for</span> (<span style="color: #0000ff;">int</span> i = 0; i < intervals.size(); i++<span style="color: #000000;">) {
String id </span>=<span style="color: #000000;"> intervals.get(i).toString();
System.out.println(id);
}
</span><span style="color: #008000;">//</span><span style="color: #008000;">排序</span>
Collections.sort(intervals,<span style="color: #0000ff;">new</span> Comparator<Map.Entry<String,List<String>>><span style="color: #000000;">() {
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span> compare(Map.Entry<String,List<String>> o1,Map.Entry<String,List<String>><span style="color: #000000;"> o2) {
String intervalTime1 </span>=<span style="color: #000000;"> o1.getKey();
String fromTime1 </span>=intervalTime1.split("-")[0<span style="color: #000000;">];
String intervalTime2 </span>=<span style="color: #000000;"> o2.getKey();
String fromTime2 </span>=intervalTime2.split("-")[0<span style="color: #000000;">];
</span><span style="color: #008000;">//</span><span style="color: #008000;">转换为分钟值</span>
String hour1=fromTime1.split(":")[0<span style="color: #000000;">].trim();
String mininute1</span>=fromTime1.split(":")[1<span style="color: #000000;">].trim();
</span><span style="color: #0000ff;">int</span> times1=60*Integer.parseInt(hour1)+<span style="color: #000000;">Integer.parseInt(mininute1);
String hour2</span>=fromTime2.split(":")[0<span style="color: #000000;">].trim();
String mininute2</span>=fromTime2.split(":")[1<span style="color: #000000;">].trim();
</span><span style="color: #0000ff;">int</span> times2=60*Integer.parseInt(hour2)+<span style="color: #000000;">Integer.parseInt(mininute2);
</span><span style="color: #0000ff;">return</span> (times1 -<span style="color: #000000;"> times2);
}
});
</span><span style="color: #008000;">//</span><span style="color: #008000;">排序后</span>
System.out.println("------------------排序后--------------------------"<span style="color: #000000;">);
</span><span style="color: #0000ff;">for</span> (<span style="color: #0000ff;">int</span> i = 0; i < intervals.size(); i++<span style="color: #000000;">) {
String id </span>=<span style="color: #000000;"> intervals.get(i).toString();
System.out.println(id);
}
}</span></pre>
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |