发难环节:如何将这些数据发送给另一个方法或前端
学生
{姓名:张三, 性别:男,爱好:打球}
{姓名:李四 ,性别:女,爱好:打球}
老师
{姓名:碟子,性别:男,爱好:爱老婆,特点:高富}
{姓名:锅锅,性别:男,爱好:爱老婆,特点:帅气}
@RequestMapping("dalaopo")
@ResponseBody
public 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分层代码的区别了