要對(duì)Map中的key-value鍵值對(duì)進(jìn)行排序,可以使用Collections類提供的sort方法。該方法允許用戶使用自定義的排序方法,可以按鍵進(jìn)行排序,或者按值進(jìn)行排序。
具體代碼如下:
1、產(chǎn)生需要的數(shù)據(jù)
1
2
3
4
5
6
|
Map<String, Integer> map_Data = new HashMap<String, Integer>(); map_Data.put( "A" , 98 ); map_Data.put( "B" , 50 ); map_Data.put( "C" , 76 ); map_Data.put( "D" , 23 ); map_Data.put( "E" , 85 ); |
2、將Map集合轉(zhuǎn)換成List集合,以便排序
1
|
List<Map.Entry<String,Integer>> list_Data = new ArrayList<Map.Entry<String,Integer>>(map_Data.entrySet()); |
3、開始排序
1
2
3
4
5
|
Collections.sort(list_Data, new Comparator<Map.Entry<String, Integer>>() { public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) { return o2.getValue() - o1.getValue(); } }); |
上述代碼通過匿名類構(gòu)造排序方法,按照Map的值進(jìn)行排序。
采用這種方法,可以對(duì)Map類進(jìn)行排序。
如果要對(duì)List進(jìn)行排序,則直接使用第三步即可實(shí)現(xiàn)。
如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
原文鏈接:http://blog.csdn.net/lxgwm2008/article/details/7710561