java多层map嵌套案例

这是做项目事service层的一个方法,TmCisDataItemDef是一个对象,tmCisDataItemDefDao.queryForList()方法从数据库中取出所有TmCisDataItemDef表中的数据放大list中,再变量list,根据对象的字段分级放到map中。
public Map>>> getItemDefMap() {

		TmCisDataItemDef tmCisDataItemDef = new TmCisDataItemDef();
		List list = tmCisDataItemDefDao.queryForList(tmCisDataItemDef);

		Map>>> productMap 
				= new HashMap>>>();

		for (TmCisDataItemDef t : list) {
			// 判断机构是否存在
			if (productMap.get(t.getCreditOrgCode()) == null) {
				productMap.put(t.getCreditOrgCode(),
						new HashMap>>());
			}
			Map>> productInMap = productMap.get(t
					.getCreditOrgCode());
			// 判断产品是否存在
			if (productInMap.get(t.getProductCode()) == null) {
				productInMap.put(t.getProductCode(),
						new HashMap>());
			}
			
			Map> productIn2Map = productInMap.get(t.getProductCode());
			// 判断维度是否存在
			if (productIn2Map.get(t.getDmType()) == null) {
				productIn2Map.put(t.getDmType(),
						new ArrayList());
			}
			
			productIn2Map.get(t.getDmType()).add(t);
		}

		return productMap;
	}

你可能感兴趣的:(java)