要對Map中的key-value鍵值對進行排序,可以使用Collections類提供的sort方法。該方法允許用戶使用自定義的排序方法,可以按鍵進行排序,或者按值進行排序。
具體代碼如下:
1、產生需要的數據
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集合轉換成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(); } }); |
上述代碼通過匿名類構造排序方法,按照Map的值進行排序。
采用這種方法,可以對Map類進行排序。
如果要對List進行排序,則直接使用第三步即可實現。
如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
原文鏈接:http://blog.csdn.net/lxgwm2008/article/details/7710561