教老婆学java之奇妙的数据结构三

Map与其他

发难环节:如何将这些数据发送给另一个方法或前端

学生
{姓名:张三, 性别:男,爱好:打球}
{姓名:李四 ,性别:女,爱好:打球}
老师
{姓名:碟子,性别:男,爱好:爱老婆,特点:高富}
{姓名:锅锅,性别:男,爱好:爱老婆,特点:帅气}
@RequestMapping("dalaopo")@ResponseBodypublic Map get(){Map<String,List<Map<String,String>>> data = new HashMap<>();Map<String,String> zhansan = new HashMap<>();zhansan.put("name","张三");zhansan.put("sex","男");zhansan.put("love","打球");Map<String,String> lisi = new HashMap<>();lisi.put("name","李四");lisi.put("sex","女");lisi.put("love","打球");List<Map<String,String>> xuesheng = new ArrayList<>();xuesheng.add(zhansan);xuesheng.add(lisi);Map<String,String> diezi = new HashMap<>();diezi.put("name","碟子");diezi.put("sex","男");diezi.put("love","爱老婆");diezi.put("others","高富");Map<String,String> guoguo = new HashMap<>();guoguo.put("name","锅锅");guoguo.put("sex","男");guoguo.put("love","爱老婆");guoguo.put("others","帅气");List<Map<String,String>> laoshi = new ArrayList<>();laoshi.add(diezi);laoshi.add(guoguo);data.put("xuesheng",xuesheng);data.put("laoshi",laoshi);return data;}
//答案
{"xuesheng": [{"love": "打球","sex": "男","name": "张三"}, {"love": "打球","sex": "女","name": "李四"}],"laoshi": [{"love": "爱老婆","sex": "男","name": "碟子","others": "高富"}, {"love": "爱老婆","sex": "男","name": "锅锅","others": "帅气"}]
}

继续:页面按顺序取,每次都是先xuesheng,后laoshi。你帮我换个顺序

data.put("laoshi",laoshi);
data.put("xuesheng",xuesheng);
//为啥不成。哦哦哦
Map<String,List<Map<String,String>>> data = new LinkedHashMap<>();
//哥哥快夸我

施教环节:

1.记住写Java不要闲麻烦,有好多繁琐的判断啥的
2.hash和link的理解(自己去百度)
3.数据结构的合理利用,什么时候用list什么时候用Map。直观体会

拓展环节:如果是反复使用这些数据呢,怎么挑选数据结构

对象的理解。
1.对象可以做数据结构体,如Entity,Dto,他们的使命是数据载体
2.对象可以做工具类。集成很多功能
3.两者皆有,就要看是方法服从数据,还是数据是服务于方法
根据这样的思路,就可以理解mvc分层代码的区别了

教老婆学java系列之奇妙的数据结构三相关推荐

  1. 教老婆学java系列之奇妙的数据结构四

    教老婆学java系列之奇妙的数据结构四 数据结构最后一节 思考题:后台处理一件事,耗时较长,怎么将信息显示在页面上 问题解析: 1.前端触发,后端处理时间较长,前端不能等处理完成. 2.如果不等处理完 ...

  2. 教你学java_教妹学Java:Spring 入门篇

    你好呀,我是沉默王二,一个和黄家驹一样身高,刘德华一样颜值的程序员(管你信不信呢).从两位偶像的年纪上,你就可以断定我的码龄至少在 10 年以上,但实话实说,我一直坚信自己只有 18 岁,因为我有一颗 ...

  3. 老婆学计算机视频,教老婆学电脑-5.14

    今天让老婆从电脑桌面操作开始学习,希望能发现些问题,然后解决之.不出所料! Q1:"我的电脑"-地址栏被发现不显示路径,怎么办? 什么是code?code就就是一种语言,一种计算机 ...

  4. 教妹学 Java:大有可为的集合

    本篇通过一种趣味化的形式来讲述 Java 的集合. 00.故事的起源 "二哥,上一篇<泛型>的反响效果怎么样啊?"三妹对她提议的<教妹学 Java>专栏很是 ...

  5. 教妹学 Java:难以驾驭的多线程

    本篇通过一种趣味化的形式来讲述 Java 的多线程. 00.故事的起源 "二哥,上一篇<集合>的反响效果怎么样啊?"三妹对她提议的<教妹学 Java>专栏很 ...

  6. 教妹学 Java:集合

    ?点 击 「沉默王二」 关 注 我 ? 00.故事的起源 "二哥,上一篇<泛型>的反响效果怎么样啊?"三妹对她提议的<教妹学 Java>专栏很是关心. &q ...

  7. 跟老杨学java系列(一)前传

    跟老杨学java系列(一)前传 首先声明一下哈,本人文笔水平有限,不喜勿喷.欢迎大家留言探讨技术问题.其他问题概不回复. 上台来首先做个自我介绍(~~偷师相声开场白),本人从事IT开发行业快二十个年头 ...

  8. 教妹学Java(十四):switch 语句详解

    大家好,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员.本篇文章通过我和三妹对话的形式来谈一谈"switch 语句". 教妹学 Java,没见过这么有趣的标题吧?&q ...

  9. andy学java系列之J2ME的移动支付系统的设计与实现

    andy学java系列 J2ME的移动支付系统的设计与实现 ----三星SDK支付API介绍 移动支付是移动电子商务中的最重要的部分之一.安全性.私密性.易用性是移动支付的最重要的几个问题.目前有许多 ...

最新文章

  1. 题解 P4692 【[Ynoi2016]谁的梦】
  2. java前端div浮动靠左_前端进阶第5周打卡题目汇总
  3. 华为鸿蒙系统源码_鸿蒙系统 IO 栈分析 | 解读鸿蒙源码
  4. 这些被同事喷的JS代码风格你写过多少?
  5. 项目如何用jetty运行_如何用Cloudbase Framework部署一个Vue项目?
  6. csgo天津服务器维护怎么办,CSGO华北赛区在天津落下帷幕
  7. python scrapy框架 简书_python scrapy 实战简书网站
  8. 推荐系统在滴滴司机调度系统中的应用实践
  9. delphi 得到安装列表_印象笔记第2课 安装 基本操作 收集素材(视频+文字+图片)...
  10. iOS自己定义返回button(不影响返回手势)
  11. java+switch语句+枚举,Java枚举类型在switch语句中的正确用法
  12. mysql排列组合实现_排列组合的实现
  13. excel超链接怎么设置_14用Python 读写 Excel 文件
  14. 什么是数据安全,为什么它很重要?
  15. SMAA算法详解 - SMAANeighborhoodBlendingPS
  16. linux fd dup 使用
  17. matlab看图像分度值,也制作开源 STC15W408AS 白光T12控制器 数码管版本 洞洞板搭建...
  18. 请输入公众号相关链接,并以http://或https://开头
  19. Linux 磁盘管理-分区管理-磁盘修复-断电导致磁盘损坏【fsck】修复异常磁盘
  20. 在线直播源码搭建直播平台的后端

热门文章

  1. 《利用机器学习开发算法交易系统》
  2. 《论语》原文及其全文翻译 学而篇8
  3. DELL IDRAC
  4. 【机器学习入门基础】Matrix
  5. NBIOT 设备接入ONENET平台
  6. react的css样式
  7. 【javascript-基础小练习】开发一款软件,根据公式(身高-108)*2=体重,可以有10斤左右的浮动。来观察测试者体重是否合适
  8. Java程序设计基础(菜鸟的学习)
  9. Linux下创建超级用户
  10. 鱼鱼Chen之学写自己的apk(六)ListView带动画图标