循环里使用嵌套集合的陷阱(小白会犯的错)

本人上周在pc端与手机端做对接接口的时候包装json格式的数据犯了一个很低级的小错误,由此可见程序猿小白对集合的深层底层原理还是理解的不够透彻,希望做出此文章可以对初学者做一个警醒,做出一个小的帮助。


是这样的,手机端需要一个json格式包装的数据,大概是这个样子:

   {
    "listItemGzjy": [
        {
            "zw": "实习生 ",
            "gzms": "负责资料整理;图纸绘制; 参与烟草援建黑龙江省勃利县九龙水源工程初步设计资料整理,并编制汇报系统。",
            "end_year_month": ""
        },
        {
            "zw": "实习生",
            "gzms": "负责专家资料库整理;协助领导及同事召开项目汇报会; 参与水利部作业指导书的修改工作,针对各司局作业指导书中出现的问题进行归纳整理,汇总成为修改意见。",
            "end_year_month": ""
           
        }
    ],
    "zwpj": "一名性格开朗,值得信赖的女生。我最大的优点是执行力强,有正能量,对于领导交代的事物能够短时间内做出回馈,并保质保量的完成。工作期间我能全心全意投入工作中,工作之余也能认真思考工作中的问题,提高自己的能力。另外,我的沟通协调能力较强,我认为工作中没有沟通解决不了的事情,在工作中我能够很好的与领导及各部门沟通协调,确保工作顺利开展。\n",
    "phone": "15210725087",
    "xtm": "6d76aab4a43e412abbaa7ddf3d771589",
    "zgxl": "硕士",
    "dd": "北京、深圳",
    "zy": "水文与水资源工程",
    "zzmm": "中共党员(含预备党员)"
}


而我的代码片段片段则是以下的样子:


问题就出现在了,循环拿到的数据都可以存入到returnToMapList集合中,但是当map集合一放入到listItemqq集合中的时候就会循环遍历最后一条数据,拿到的所有几条数据都是最后一条重复的数据。当时自己很是郁闷,不知道是咋回事,当时只是以为每一个循环分辨不出每次插入的是哪个集合,想着对每一次循环的map做一个数字标记,但是此法定然是行不通的。又尝试使用其他的集合里面的方法去进行添加,但最后也是不能实现。后来经人指点,才发现犯了一个很低级的小错误。

我在循环外面new了一个map,而集合的底层只会开辟一个内存空间,每次循环的数据只是会往这一个空间不断的添加,所以我需要在每一个for循环了new集合,每循环一次数据开辟一次,才会达到最后的预期效果。如下代码片:


问题解决,一个很小的小白错误,但是由此却对集合底层又多了一点深入的了解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值