zoukankan      html  css  js  c++  java
  • Collections.sort()排序和map排序方法

    Collections.sort()排序和map排序方法:

      /**
         * map排序
         * @param rankTimesMap
         * @return
         */
        private HashMap<String, Integer> hashMapSort(Map<String, Integer> rankTimesMap, final Map<String, Integer> rankCountMap){
            // 按顺序保存rankTimesMap中的元素,使用LinkedList类型
            List<Map.Entry<String, Integer>> keyList = new LinkedList<Map.Entry<String, Integer>>(rankTimesMap.entrySet());
            // 按照上榜次数降序的规则排序
            Collections.sort(keyList, new Comparator<Map.Entry<String, Integer>>() {
                @Override
                public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
                    if (o2.getValue().compareTo(o1.getValue()) > 0){
                        return 1;
                    } else if(o2.getValue().compareTo(o1.getValue()) < 0){
                        return -1;
                    }  else {
                        // 如果上榜次数相同,按照名次之和升序排序
                        Integer rankCountO1 = rankCountMap.get(o1.getKey());
                        Integer rankCountO2 = rankCountMap.get(o2.getKey());
                        if (rankCountO1.compareTo(rankCountO2) > 0) {
                            return 1;
                        } else if (rankCountO1.compareTo(rankCountO2) < 0) {
                            return -1;
                        } else {
                            return 0;
                        }
                    }
                }
    
            });
            // 将LinkedList按照排序好的结果,存入到HashMap中
            HashMap<String,Integer> result = new LinkedHashMap<>();
            for(Map.Entry<String, Integer> entry : keyList){
                result.put(entry.getKey(), entry.getValue());
            }
            return result;
        }
    随笔看心情
  • 相关阅读:
    删除svn版本信息
    ArcGIS Server中创建ao对象的CLSID如何获得
    操作系统引导
    有关IHttpModule与页面的执行顺序
    使用python查询中文汉字的Unicode
    VIM 入门(转载)
    Visual Studio 2010 添加vim支持
    win7 安装arcgis后出现问题解决方案
    C++中动态链接库的一些概念及入门(2)
    VS2010 MSDN
  • 原文地址:https://www.cnblogs.com/stromgao/p/12185697.html
Copyright © 2011-2022 走看看