如何给一个map按照key对应的value值排序

直接上代码:

public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<String, Integer>();
        for(int i=0;i<10;i++) {
       //添加key,并随机添加key对应value的integer值 map.put(
"aa" + i, (int)(Math.random()*1000)); } List<Map.Entry<String,Integer>> list = new ArrayList<Map.Entry<String,Integer>>(map.entrySet());
     //升序排列逻辑 Collections.sort(list,
new Comparator<Map.Entry<String,Integer>>() { public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) { return o1.getValue().compareTo(o2.getValue()); } });
     //打印输出结果
for(Map.Entry<String,Integer> mapping:list){ System.out.println(mapping.getKey() + "---:---" + mapping.getValue()); } }

输出结果如下:

aa7---:---7
aa5---:---27
aa1---:---77
aa9---:---140
aa0---:---194
aa4---:---445
aa3---:---531
aa2---:---566
aa8---:---631
aa6---:---992

 

posted @ 2019-03-19 11:19  代码伊甸园  阅读(4395)  评论(0编辑  收藏  举报