zoukankan      html  css  js  c++  java
  • 关于Map排序

    在写项目的过程中,发现一个问题,就是在写Map后,对Map进行排序(倒序),在使用System.out.println输出是可以进行倒序的,但是如果再将结果放在Map作为返回值的时候顺序又变成无序的了。所以我就做了一下简单的处理,虽然可以有刚好的办法:

    public class ZtMapSortUtil {
    public static List<ApocalypseZtMapRO> getSortMap(Map<String , Integer> resultMap){
    //通过ArrayList构造函数把map.entrySet()转换成list
    List<Map.Entry<String,Integer>> list = new ArrayList<Map.Entry<String, Integer>>(resultMap.entrySet ());
    //通过比较器实现比较排序
    Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
    public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
    return o1.getValue().compareTo (o2.getValue()); //升序
    // return o2.getValue().compareTo (o1.getValue()); //倒序
    }
    });
    List<String> key = new ArrayList<String>();
    List<Integer> num = new ArrayList<Integer>();
    List<ApocalypseZtMapRO> sortMapROs = new ArrayList<ApocalypseZtMapRO>();
    for(Map.Entry<String,Integer> mapping:list){
    key.add(mapping.getKey());
    num.add(mapping.getValue());
    ApocalypseZtMapRO sortMapRO = new ApocalypseZtMapRO();
    sortMapRO.setTeamName(mapping.getKey());
    sortMapRO.setCount(mapping.getValue());
    sortMapROs.add(sortMapRO);
    }
    /* for (int i = 0; i < list.size(); i++){
    sortMapRO.setName(key.get(i));
    sortMapRO.setNum(num.get(i));
    sootMapROs.add(sortMapRO);
    }*/
    return sortMapROs;
    }
    }


    这里就是使用一个list的方法,进行Map值的存放,然后按照一定的顺序取出来就可以。
  • 相关阅读:
    SpringMVC 拦截器实现权限统一校验
    SpringMVC 全局异常处理
    Maven环境隔离应用场景
    Lombok入门
    父组件动态生成,子组件值进行渲染
    java实战
    Android studio 如何通过DB Navigator连接微软的SQL Server
    自定义的AutoComplTextView
    转 -- 用shape画内圆外方,形成一个圆形头像
    (记录问题)1.Canvas.drawArc()方法的问题
  • 原文地址:https://www.cnblogs.com/April-Chou-HelloWorld/p/6635306.html
Copyright © 2011-2022 走看看