java多层map嵌套案例

java多层map嵌套案例

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

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

		Map<String, Map<String, Map<String, List<TmCisDataItemDef>>>> productMap 
				= new HashMap<String, Map<String, Map<String, List<TmCisDataItemDef>>>>();

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

		return productMap;
	}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106387.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • svn钩子(hooks)自动部署代码到web目录

    svn钩子(hooks)自动部署代码到web目录

    2021年10月29日
    36
  • 激光雷达:测距原理

    激光雷达:测距原理介绍了三角测距雷达及飞行时间雷达的测距原理

    2022年5月8日
    43
  • 原码反码补码运算规则_正数的原码反码补码相同吗

    原码反码补码运算规则_正数的原码反码补码相同吗一.机器数和真值在学习原码,反码和补码之前,需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号,正数为0,负数为1.比如,十进制中的数+3,计算机字长为8位,转换成二进制就是00000011。如果是-3,就是10000011。那么,这里的00000011和10000011就是机器数。2、因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数100

    2022年9月23日
    0
  • cisco交换机常用命令[通俗易懂]

    一台全新交换机,不同模式命令大全交换机基本状态显示及各个状态切换:hostname&gt;用户模式hostname#特权模式hostname(config)#全局配置模式hostname(config-if)#接口或者vlan多个接口配置模式hostname(vlan)#…

    2022年4月7日
    45
  • idea常用快捷键

    idea常用快捷键idea常用快捷键

    2022年4月22日
    38
  • 个人微信号API接口,微信机器人

    个人微信号API接口,微信机器人前段时间公司需求开发一套自定义的微信机器人,需求是可以自己批量添加好友、批量打标签等进行好友管理,社群管理需要自动聊天,自动回复,发朋友圈,转发语音,以及定时群发等,还可以提取聊天内容,进行数据汇总,收藏快捷回复各种功能!一堆需求砸下来,调研开发了3个月,3个月啊!!!(主要被各种技术走偏路),终于成功了,都是走过的心酸泪,分享给大家,大家学习完,记得给我点个赞!!!大家一般需求点无非是以下几个需求:1.开发个人微信营销系统2.开发自定义的微信机器人,3.开发微信智能聊天客服系统

    2022年5月18日
    75

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号