快疯了,怎么让Map的元素也是Map型呀??

能吃 2016-10-12 04:47:56
Map obj_11 = new HashMap();
obj_11.put("name", "日本");
obj_11.put("area", "2亿");

Map obj_22 = new HashMap();
obj_22.put("name", "中国");
obj_22.put("area", "14亿");
obj_22.put("langue", "汉语");


Map obj = new HashMap();
obj.put("p1",obj_11);
obj.put("p2", obj_22);
最后得到这个obj变量就是我想要的,但这是写死的方法,我想从数据库里组织成这样的数据

数据库表结构是下面这样的

p1 name 日本
p1 area 2亿
p2 name 中国
p2 area 14亿
p2 langue 汉语
...全文
394 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Intboy 2016-10-13
  • 打赏
  • 举报
回复
我怎么觉得你表结构应该是这样的 xx name area langue p1 日本 2亿 p2 中国 14亿 汉语
___d 2016-10-12
  • 打赏
  • 举报
回复
引用 5 楼 z80_robin 的回复:
[quote=引用 4 楼 u014181631 的回复:] 是什么需求?要map当map的value这样去存数据?
就是把字典表数据组织成一个Map,map的元素也是map,字典表如下 分类 CODE 中文 12 1 男 12 2 女 15 86 中国 34 04 职工 34 03 主任 34 02 中层 {“12”:{"1":“男”,"2":“女”}},{“15”:{"86":“中国”}},{“34”:{"04":“职工”,"03":“主任”,"02":“中层”}} 最后得到这个Map[/quote] 看你数据库返回的是List还是map 然后跟写死的那样写就好了
0小黑0 2016-10-12
  • 打赏
  • 举报
回复
List<Map> list = new ArrayList(); Map<String,Map> map = new HashMap<String,Map>(); for(Map l:list){ String 分类 = (String) l.get("分类"); String code = (String) l.get("code"); String 中文 = (String) l.get("中文"); Map map1= new HashMap(); map1.put(code, 中文); if(map.get(分类)==null){ map.put(分类, map1); }else { map.get(分类).put(code, 中文); } }
  • 打赏
  • 举报
回复
或者 Map obj = new HashMap(); obj.put("p1",obj_11); obj.put("p2", obj_22); 而obj_11、obj_22是List<Map>
  • 打赏
  • 举报
回复
JSON格式也可以
能吃 2016-10-12
  • 打赏
  • 举报
回复
引用 4 楼 u014181631 的回复:
是什么需求?要map当map的value这样去存数据?
就是把字典表数据组织成一个Map,map的元素也是map,字典表如下 分类 CODE 中文 12 1 男 12 2 女 15 86 中国 34 04 职工 34 03 主任 34 02 中层 {“12”:{"1":“男”,"2":“女”}},{“15”:{"86":“中国”}},{“34”:{"04":“职工”,"03":“主任”,"02":“中层”}} 最后得到这个Map
___d 2016-10-12
  • 打赏
  • 举报
回复
是什么需求?要map当map的value这样去存数据?
  • 打赏
  • 举报
回复
一楼 的吧!!!!!
BUG胡汉三 2016-10-12
  • 打赏
  • 举报
回复
如果你是直接写jdbc就得自己封装一下了,自行百度Java jdbc 返回Map! 如果是Hibernate,只需要调用:

query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list()
Mybatis的话,好像指定返回类型为Map就OK了!
Alvis_you 2016-10-12
  • 打赏
  • 举报
回复
你自己new个对象 就叫Country吧 假设从数据库查询出来是个List<Country> list

Map<String,Country> map= new HashMap<String,Country>();
for(Country  c: list){
     map.put(c.id,c);
}
return map;
伪代码意思就这意思

81,116

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧