List<Map<String,Object>>数据格式重新组合----> Map<String, List<Map<String, Object>>>

List<Map<String,Object>>数据格式重新组合成
Map<String, List<Map<String, Object>>>

方法如下:
在这里插入图片描述
举例:
//创建数据

List<Map<String,Object>> data=new ArrayList<Map<String,Object>>();
Map<String, Object> map1 = new HashMap<String, Object>();
map1.put("QUALITY_CODE","20200107");
map1.put("AUTH_NAME","证书3");
map1.put("EXPRESSIONDESC","4和3都满足");
map1.put("TYPEEXPRESSION","([CERTNO4]==1&&[CERTNO3]==1)");
map1.put("AUTH_CODE","CERTNO2");
map1.put("AUTHSCENE","QUALITY");
map1.put("AUTHTYPE_CODE","CERTN");
map1.put("DBID","44");
Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("QUALITY_CODE","20200107");
map2.put("AUTH_NAME","证书4");
map2.put("IS_FORCED_CONTROL","1");
map2.put("EXPRESSIONDESC","4证书满足");
map2.put("TYPEEXPRESSION","([CERTNO4]==1)");
map2.put("AUTH_CODE","CERTNO3");
map2.put("AUTHSCENE","QUALITY");
map2.put("AUTHTYPE_CODE","CERTN");
map2.put("DBID","44");
Map<String, Object> map3 = new HashMap<String, Object>();
map3.put("QUALITY_CODE","20200107");
map3.put("AUTH_NAME","申请人类别");
map3.put("IS_FORCED_CONTROL","1");
map3.put("EXPRESSIONDESC","申请人类别:内部用户");
map3.put("TYPEEXPRESSION","([UTY]=={1000})");
map3.put("AUTH_CODE","UTY");
map3.put("AUTHSCENE","QUALITY");
map3.put("AUTHTYPE_CODE","UTY");
map3.put("DBID","6");
Map<String, Object> map4 = new HashMap<String, Object>();
map4.put("QUALITY_CODE","20200107");
map4.put("AUTH_NAME","专业年限");
map3.put("IS_FORCED_CONTROL","0");
map4.put("EXPRESSIONDESC","专业年限达到三年以上(含3年)");
map4.put("TYPEEXPRESSION","([MWY]>={3})");
map4.put("AUTH_CODE","MWY");
map4.put("AUTHSCENE","QUALITY");
map4.put("AUTHTYPE_CODE","MWY");
map4.put("DBID","4");
JSONObject jsonObject1 = new JSONObject(map1);
JSONObject jsonObject2 = new JSONObject(map2);
JSONObject jsonObject3 = new JSONObject(map3);
JSONObject jsonObject4 = new JSONObject(map4);
data.add(jsonObject1);
data.add(jsonObject2);
data.add(jsonObject3);
data.add(jsonObject4);
System.out.println("data:"+data);
System.out.println("========================");
//组合成新的数据格式
Map<String, List<Map<String, Object>>> dataMap = new HashMap<String, List<Map<String,Object>>>();
//遍历组合之前的数据
for (Map<String, Object> map : data) {
	//提取数据中的某一属性值当作key(判断)map.containsKey,依据此方法来获取键值对,如果没有找到返回false,找到了就返回ture
	if (map.containsKey("AUTHTYPE_CODE")) {
		List<Map<String, Object>> authTypeMap = new ArrayList<Map<String,Object>>();
		//List<Map<String, Object>>取key
		String typeStr =(String) map.get("AUTHTYPE_CODE");
		if (dataMap.containsKey(typeStr)) {
			authTypeMap=dataMap.get(typeStr);
		}
		authTypeMap.add(map);
		dataMap.put(typeStr, authTypeMap);
	}
}
System.err.println("dataMap:"+dataMap);

最后的结果如下所示:
在这里插入图片描述
留记!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值