如何给一个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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM