栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java请求返回值不存在数据填充为0

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java请求返回值不存在数据填充为0

"data": [
    {
      "QUARTER": 1,
      "rate": 9.28,
      "energyGasCarbonEmissions": 0.1975,
      "dieselCarbonEmissions": 1.8319
    },
    {
      "QUARTER": 3,
      "rate": 0,
      "energyGasCarbonEmissions": 0.1757,
      "dieselCarbonEmissions": 0
    },
    {
      "QUARTER": 4,
      "rate": 23.22,
      "energyGasCarbonEmissions": 0.1464,
      "dieselCarbonEmissions": 3.3998
    }
  ]

上例不存在第二季度,需要填充为0

"data": [
    {
      "QUARTER": 1,
      "rate": 9.28,
      "energyGasCarbonEmissions": 0.1975,
      "dieselCarbonEmissions": 1.8319
    },
    {
      "QUARTER": 2,
      "rate": 0,
      "energyGasCarbonEmissions": 0,
      "dieselCarbonEmissions": 0
    },
    {
      "QUARTER": 3,
      "rate": 0,
      "energyGasCarbonEmissions": 0.1757,
      "dieselCarbonEmissions": 0
    },
    {
      "QUARTER": 4,
      "rate": 23.22,
      "energyGasCarbonEmissions": 0.1464,
      "dieselCarbonEmissions": 3.3998
    }
  ]

代码实现方式:

public List> statisCarbonEmissionsRate(Map params) {
		List> results = emmissionsReductionInputMapper.statisCarbonEmissionsRate(params);
		if(results==null||results.size()==0) {
			return results;
		}
		//填充不存在的quarter
		Set set = new HashSet();
		for(Map beginResult:results) {
			String quarter = String.valueOf(beginResult.get("QUARTER"));
			set.add(quarter);
		}
		
		String quarters[] = new String[] {"1","2","3","4"};
		for(String quarter:quarters) {
			if(!set.contains(quarter)) {
				Map zeroQuarterMap = new HashMap();
				zeroQuarterMap.put("QUARTER", quarter);
				results.add(zeroQuarterMap);
			}
		}
		//填充quarter外其他记录,以返回记录数据最多一列作为基础
		Set keys = new HashSet();
		for(Map result:results) {
			keys.addAll(result.keySet());
		}
		for(Map result:results) {  //填充无数据记录为0
			Set resultKeys = result.keySet();
			for(String key:keys) {
				if(!resultKeys.contains(key)) {
					result.put(key, 0);
				}
			}
		}
		
		//排序
		results=results.stream().sorted((map1,map2)->{
				return map1.get("QUARTER").toString().compareTo(map2.get("QUARTER").toString());
		}).collect(Collectors.toList());
		
		return results;
	}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/358345.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号