zoukankan      html  css  js  c++  java
  • LinkedHashMap 根据PUT顺序排序Map

    最近工程里面报表需要合计 , 因为所有的项都是动态的,所以只能动态添加。

    思路是使用Map,初始化所有Map,然后在Map中合计并且覆盖。

    使用HashMap , 初始化后所有动态项的顺序都乱了。

    Map<String , Double> totalMap = new  HashMap<String, Double>();
    for (Map<String, Object> map : itemList) {
    itemSql += "SUM("+map.get("ITEM_NO")+") AS "+map.get("ITEM_NO")+" ,";
    totalMap.put(map.get("ITEM_NO").toString(), 0d);
    }

    TreeMap也无法满足我的需求,TreeMap属于自然排序。 动态项肯定是人工调整的,我只需要根据PUT先后顺序排序即可。

    Google了下,发现HashMap子类LinkedHashMap可以实现迭代顺序(既插入顺序) 代码如下:

    Map<String , Double> totalMap = new  LinkedHashMap<String, Double>();    //用于统计动态项
    for (Map<String, Object> map : itemList) {
    itemSql += "SUM("+map.get("ITEM_NO")+") AS "+map.get("ITEM_NO")+" ,";
    totalMap.put(map.get("ITEM_NO").toString(), 0d);
    }

    好了,这样就完成了。

  • 相关阅读:
    MySQL 简单查询(实验回顾)
    PicGo + Gitee 创建图床,Typora竟还有这种功能
    SQL 条件判断
    django ORM中的复选MultiSelectField的使用
    with的用法
    django update-or-create的用法
    获取异常文件
    支付宝支付
    单例模式创建
    数据类模型
  • 原文地址:https://www.cnblogs.com/azhqiang/p/4111063.html
Copyright © 2011-2022 走看看