对<String,Double>类型的Map根据Value数值由大到小排序


在实际中经常用到对<String,Double>类型的Map根据Value数值由大到小排序,可是每次都记不住代码,需要花好长时间去查找,现在放在这里,方便以后查找。

    List<Map.Entry<String, Double>> wordMap = new ArrayList<Map.Entry<String, Double>>(patternScoresMap.entrySet());
    Collections.sort(wordMap, new Comparator<Map.Entry<String, Double>>() {//根据value排序
     public int compare(Map.Entry<String, Double> o1,
       Map.Entry<String, Double> o2) {
      double result = o2.getValue() - o1.getValue();
      if(result > 0)
       return 1;
      else if(result == 0)
       return 0;
      else
       return -1;
     }
    });

推荐阅读:

Map 值增加的最高效的方法 —— 只一次搜索键

相关内容