zoukankan      html  css  js  c++  java
  • 如何将HashMap,按照value值排序

    这里要用到一个Comparator的接口,里面只有一个方法,compare(),我们实现这个接口就好,很简单

    private class ValueComparator implements Comparator<Map.Entry<String, Integer>>  
    	    {  
    	        public int compare(Map.Entry<String, Integer> mp1, Map.Entry<String, Integer> mp2)   
    	        {  
    	            return mp2.getValue() - mp1.getValue();  
    	        }  
    	    }  


    这里为啥用mp2-mp1呢,因为我想要的排序结果是从大到小,默认的是从小到大排序。这样调换一下位置就不要再写一个循环,倒叙输出了。

    使用的时候也很简单,调用Collections工具类的sort方法时,传入我们自己写的这个实现类的对象,作为参数就可以了。先根据实际需求,创建一个List。

    Map<String,Integer> map=new HashMap<>();
    		List<Map.Entry<String,Integer>> sort=new ArrayList<>();

    然后直接就可以排序啦。

    sort.addAll(map.entrySet());
    		ValueComparator vc=new ValueComparator();
    		Collections.sort(sort,vc);


    很简单吧。


  • 相关阅读:
    Jenkins远程部署应用
    Centos7搭建Jenkins
    Centos7安装Docker
    Centos7安装Maven
    Centos7安装jdk
    由object元素引出的事件注册问题和层级显示问题
    ios中input输入无效
    手册
    CSS 清楚浮动总结
    JS 创建对象总结
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3249123.html
Copyright © 2011-2022 走看看