背景

需要从数据库循环取值放在Map里面返回给前端的时候,

这样查出来的map的值都被覆盖了,如下

大家都知道,Map 的 key 值一样,会覆盖上次的相同 key 的 value 值,在一番思考后,做出以下改变,如图,

通过debug可以看到,从而分析得知

new HashMap(),会在内存中给我分配一个对象内存;
map,仅仅只是一个对象的引用,指向给 new HashMap() 分配的内存相当于 new HashMap() 的别名,第一张图只是new了一次,通过改变当我们把 new 操作放到 for 循环里面就正常了,因为每次操作的都是不同的内存地址。这样就拿到我们需要的结果了。

xd们可以自己debug看看效果哦!

总结

对于 Map 这是一个在项目中很常见,面试中很频繁的知识点,希望能帮到各位兄弟们。

主要涉及两个 Java基础知识点:

  • new 操作具体含义
  • map key 值相同

在List循环中添加Map导致值被覆盖相关推荐

  1. 给excel中添加列和值

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 给excel中添加列和值 执行前: 执行后: 提示:以下是本篇文章正文内容,下面案例可供参考 package com.yl;impor ...

  2. 爬虫-在请求头中添加cookie键值对 访问登陆后可见的页面

    关于cookie >笔记 >理解 cookie相当于病人手里的病历 cookie的格式 请求头中添加cookie键值对 练习-不使用cookie访问个人中心 访问人人网个人中心 结果是得到 ...

  3. mysql 临时列_在MySQL中添加一个带有值的临时列?

    您可以借助以下语法添加具有值的临时列-select yourColumnName1,yourColumnName2,.....N ,yourTemporaryColumnValue as yourTe ...

  4. for循环中的闭包导致的错误,及其四种解决方案

    循环中的闭包,将可能导致一种奇怪的错误 function outside() { //* 外部函数var arr = [];for (var i = 0; i < 3; i++) {arr[i] ...

  5. php for循环删除元素,php-在foreach循环中取消设置数组值

    这个问题在这里已有答案: 如何在foreach循环中删除数组元素?                                     8个答案 我设置了一个foreach循环来遍历我的数组,检查 ...

  6. pythonfor循环加2_python – 在For循环中添加List(我最初将List设置为什么?)

    这是一个初学者的问题. 我将在他们的列表中有一个具有不同数量值的字典. dict1 = {'a': [0,1,2], 'b': [3,4,5]} dict2 = {'a': [0,1,2,3], 'b ...

  7. html中遍历map的值,map遍历的几种方式是什么

    map遍历的几种方式 1.通过map.entrySet( )遍历:Map map = new HashMap(); for (int i = 0; i < 4; i++) { String s ...

  8. python中字典添加键对_关于python:如何向字典添加键、值对?

    本问题已经有最佳答案,请猛点这里访问. 如何在字典中添加键.值对?.下面我提到了以下格式? {'1_somemessage': [[3L, 1L, u'AAA', 1689544L, datetime ...

  9. c基础部分:怎么在for循环中 对上一次循环的值和下一次循环的值作比较

    1.怎么对上一次循环中的某个值与下一次循环中的值进行比较?很简单,我们首先需要一个变量去接收上一次循环中你要比较的值 例如 求最小值 int a,b,c=1000,min; for(a=0;a< ...

最新文章

  1. 解题报告:线性规划与网络流24题
  2. 使用Java语言从零开始创建区块链
  3. 为什么机油使用后变红_水泥固化剂的使用原理是什么,涂洒后时间为什么要足够长?...
  4. User-mode Linux (简体中文)
  5. 副法线和正切是什么?
  6. Linux异步管道多线程速率测试-原始数据
  7. web项目继承ServletContainerInitializer进行访问HttpServlet(WebServlet)
  8. 分布式搜索引擎Elasticsearch的简单使用
  9. 思维导图怎么画简单又漂亮?脑图轻松制作方法
  10. C++制作“简单”小游戏
  11. 解决树莓派4B不能通过手机热点连上WiFi
  12. Java接口测试工具rap_接口文档管理工具-Postman、Swagger、RAP(转载)
  13. 用matlab求摆线,求由摆线x=a(t-sint),y=a(1-cost)的一拱(0≦t≦2π)与x轴所围成的图形面积...
  14. 年月日、年积日、简化儒略日、GPS周之间相互转换(C++)
  15. redis的雪崩和穿透
  16. 【数据挖掘】数据挖掘概述
  17. 轻松一键ROOT教程,root工具
  18. 【激光测距仪方案】激光测距仪的测量原理及作用方法
  19. 水溶性CdS/ZnS量子点(硫化镉/硫化锌量子点)基团:PEG-NH2、PEG-COOH、MPA-COOH、GSH
  20. BAV20W规格信息

热门文章

  1. 十年架构五年生活-06 离职的冲动
  2. 最简单易懂的 大数相乘 解法
  3. oracle dg redo日志,DG 配置standby redolog
  4. WebGL(Threejs)工程师与三维设计师沟通注意事项
  5. eclipse的使用小技能
  6. 泊松流(Poisson Flow)生成模型
  7. Windows 10无法识别USB设备怎么办?电脑无法识别USB设备处理方法
  8. JavaScript中的ES5,ES6是什么意思?
  9. 开源分布式计算系统框架比较
  10. [附源码]计算机毕业设计JAVA游戏账号交易平台