对Map中数据,按value值排序方法

来源:互联网 发布:apache nginx 编辑:程序博客网 时间:2024/06/05 06:37

1.Map<String,Integer>类型

//声明Map<String,Integer> hashMap = new HashMap<String,Integer>();//向Map中添加数据//.....//转换ArrayList<Entry<String, Integer>> arrayList = new ArrayList<Entry<String, Integer>>(hashMap.entrySet());//排序Collections.sort(arrayList, new Comparator<Map.Entry<String, Integer>>() {public int compare(Map.Entry<String, Integer> map1,Map.Entry<String, Integer> map2) {return (map2.getValue() - map1.getValue());}});//输出for (Entry<String, Integer> entry : arrayList) {System.out.println(entry.getKey() + "\t" + entry.getValue());}

2.Map<String,Float>类型

//声明Map<String,Float> hashMap = new HashMap<String,Float>();//向Map中添加数据//.....//转换ArrayList<Entry<String, Float>> arrayList = new ArrayList<Map.Entry<String,Float>>(hashMap.entrySet());//排序Collections.sort(arrayList, new Comparator<Map.Entry<String, Float>>(){public int compare(Map.Entry<String, Float> map1,Map.Entry<String,Float> map2) {return ((map2.getValue() - map1.getValue() == 0) ? 0: (map2.getValue() - map1.getValue() > 0) ? 1: -1);}});//输出for (Entry<String, Float> entry : arrayList) {System.out.println(entry.getKey() + "\t" + entry.getValue());}

3.Map<String,Double>类型

//声明Map<String,Double> hashMap = new HashMap<String,Double>();//向Map中添加数据//.....//转换ArrayList<Entry<String, Double>> arrayList = new ArrayList<Map.Entry<String,Double>>(hashMap.entrySet());//排序Collections.sort(arrayList, new Comparator<Map.Entry<String, Double>>(){public int compare(Map.Entry<String, Double> map1,Map.Entry<String,Double> map2) {return ((map2.getValue() - map1.getValue() == 0) ? 0: (map2.getValue() - map1.getValue() > 0) ? 1: -1);}});//输出for (Entry<String, Double> entry : arrayList) {System.out.println(entry.getKey() + "\t" + entry.getValue());}



原创粉丝点击