java 数据库返回map集合 List<Map<String, Object>>我要转成 Map<String, List<String>>

数据库返回map集合 List<map>我要转成 Map<String, List> 里面的结构是 {data =“电影” classcode=“捉妖记” }{data =“电影” classcode=“捉妖记”} {data =“美食” classcode=“卷饼”} {data =“美食” classcode=“访问”} 这样的结构 我要转成Map<String, List>请大神指教 谢谢 在线等答案</map

List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();//你的list
//声明一个Map用于返回
Map<String,List<String>> map=new HashMap<String,List<String>>();

//循环你拿来的List
for(int i=0;i<list.size();i++){
Map<String,Object> m=list.get(i);
for (String key:m.keySet()) {
List<String> l=map.get(key);
if(l!=null){
l.add((String)m.get(key));
}else{
List<String> newL=new ArrayList<String>();
newL.add((String)m.get(key));
map.put(key, newL);
}
}
}
return map;

这个问题我前2天回答了一模一样的,。。。。莫非你们是同班同学。。。有疑问可以追问追问

是同一个问题和同一个人 这个题是数据库 key不行 data里的值 要做key classcode是value

追答

list是数据库返回的数据结果集?你在java里接收以后,就完全不用考虑数据库的问题了,处理方法一样的啊。

追问

我知道 但是我前台要一个map集合 我要把他转换一下 你这个方法可以 但是 他data=“”值这个要做key的 classdata里面的值要做value 我就想知道这个java实现逻辑

追答

额,看出来了,和之前的哪个问题有点点逻辑差异;这样吧,我告诉你逻辑,你看看能不能从我的方法上改出来,道理是相同的,有一点变更。我来敲的话也是几分钟就搞完了,下次逻辑稍微变动你还是不会。
Map 存值为:key=value 这种形式,一个map里可以存多个key=value ,key不可以重复,value可以重复。
List 里面存的为 value,value,value....
Map中以Key标示身份,value为内容;List里以下标标示身份,value为内容。
你现在拿到的事一个List ,里面有多个map,每个map里都有多个key=value组合,
第一次你的项目要求为:将List里面的Map的所有Key作为新的Map的key
第二次你的项目要求为:将List里面的Map的所有key为data的value作为新的Map的key

你理解下。敲不出来我在帮你搞!
授人与鱼不如授人与鱼,编程还是要培养一点逻辑变通思维的!
一起努力,一起进步!

追问

好的 我会努力试试的 再次谢谢你 我先搞 搞不出来 在找你

来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网