zoukankan      html  css  js  c++  java
  • HashMap按照value排序的实现

    一、实现的思想

    1. 将HashMap中的元素按照Entry<Key,Value>类型存入到LinkedList集合中。
    2. 实现自定义排序,对LinkedList集合排序。
    3. LinkedList集合的元素存入到HashMap中,返回排序好的结果

    二、代码实现

        /**
         * 
         * @param map HashMap<String, Integer> 按照值进行排序
         * @return:返回排序后的Map
         */
        public static HashMap<String, Integer>  hashMapSort(HashMap<String, Integer> map){
            //1、按顺序保存map中的元素,使用LinkedList类型
            List<Entry<String, Integer>> keyList = new LinkedList<Entry<String, Integer>>(map.entrySet()); 
            //2、按照自定义的规则排序
            Collections.sort(keyList, new Comparator<Entry<String, Integer>>() {
                @Override
                public int compare(Entry<String, Integer> o1,
                        Entry<String, Integer> o2) {
                        if(o2.getValue().compareTo(o1.getValue())>0){  
                            return 1;  
                       }else if(o2.getValue().compareTo(o1.getValue())<0){  
                            return -1;  
                       }  else {
                           return 0;
                       }
                }
                          
            });
            //3、将LinkedList按照排序好的结果,存入到HashMap中
            HashMap<String,Integer> result=new LinkedHashMap<>();
            for(Entry<String, Integer> entry:keyList){
                result.put(entry.getKey(),entry.getValue());
            }
            return result;
        }
  • 相关阅读:
    机器学习之朴素贝叶斯
    机器学习之KNN
    格式化数字
    web.xml中load-on-startup的作用
    ExecutorService线程池
    201404转成 2014.04
    DBCP连接池配置示例
    java 写文本换行
    打印IP 来源
    MySQL分库分表的一些技巧
  • 原文地址:https://www.cnblogs.com/lyajs/p/5973289.html
Copyright © 2011-2022 走看看