1. 集合存储多个map,如下示例,会存储相同的对象
public static void main(String[] args) {
List<Map<String, Object>> offerProdInstRels=new ArrayList<Map<String, Object>>();
Map<String, Object> relMap = new HashMap<String, Object>();
Map<String, Object> relMap2 = new HashMap<String, Object>();
Map<String, Object> relMap3 = new HashMap<String, Object>();
Map<String, Object> relMap4 = new HashMap<String, Object>();
relMap.put("offerProdInstRelId", "655361");
relMap2.put("offerProdInstRelId", "655362");
relMap3.put("offerProdInstRelId", "655363");
relMap4.put("offerProdInstRelId", "655364");
offerProdInstRels.add(relMap);
offerProdInstRels.add(relMap2);
offerProdInstRels.add(relMap3);
offerProdInstRels.add(relMap4);
Map<String, Object> offerProdInstRelMap = new HashMap<String, Object>();
List<Object> offerProdInstRelList = new ArrayList<Object>();
for(Map<String, Object> offerProdInstRel:offerProdInstRels){
offerProdInstRelMap.clear();
offerProdInstRelMap.put("statusCd", "1100");
offerProdInstRelMap.put("actType", "MOD");
offerProdInstRelMap.put("offerProdInstRelId", offerProdInstRel.get("offerProdInstRelId"));
offerProdInstRelList.add(offerProdInstRelMap);
}
System.out.println(offerProdInstRelList);
}
2. 解决方法:将map创建的对象放在里面
List<Object> offerProdInstRelList = new ArrayList<Object>();
for(Map<String, Object> offerProdInstRel:offerProdInstRels){
Map<String, Object> offerProdInstRelMap = new HashMap<String, Object>();
offerProdInstRelMap.put("statusCd", "1100");
offerProdInstRelMap.put("actType", "MOD");
offerProdInstRelMap.put("offerProdInstRelId", offerProdInstRel.get ("offerProdInstRelId"));
offerProdInstRelList.add(offerProdInstRelMap);
}
System.out.println(offerProdInstRelList);
集合多个map存储
最新推荐文章于 2024-08-16 17:35:37 发布