最近一直在做统计数据,统计后数据名称+数值这样子的,所有map的使用开始频繁,我最钟爱的list可以先歇会了,哈哈哈ヾ(≧▽≦)o。
map的排序,上代码:
public class MapRankingUtils {
public static Map<String,Integer> ranking(Map<String, Integer> map){
Map<String, Integer> res = new TreeMap<>();
//通过ArrayList构造函数把map.entrySet()转换成list
List<Map.Entry<String,Integer>> mappingList = null;
mappingList = new ArrayList<>(map.entrySet());
//通过比较器实现比较排序
Collections.sort(mappingList, new Comparator<Map.Entry<String,Integer>>(){
@Override
public int compare(Map.Entry<String,Integer> mapping1,Map.Entry<String,Integer> mapping2){
return mapping1.getValue().compareTo(mapping2.getValue());
}
});
for (Map.Entry<String, Integer> e: mappingList) {
res.put(e.getKey(),e.getValue());
}
return res;
}
}
我把他搞了个工具类,因为用到的地方比较多。
ps:假如数值太大可以把Integer换成Long使用。