A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 汤柳清 中级黑马   /  2014-1-16 15:06  /  1498 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

List <Map<String,Object>>这种结构如何根据Map中多个相同的key把某个key的value合并到一个字符串中,把多余的map数据删除掉


实际上Object是个String
现在是这样
一个Map有很多键值对
有部分键值对是相同的,这样的MAP需要整合其中一个key上的值
把值合并成一个String保存到一个Map中
然后把其它多余的MAP扔掉


评分

参与人数 1技术分 +2 收起 理由
滔哥 + 2

查看全部评分

3 个回复

倒序浏览
你的map在put的时候看看map里是否contansKey你新添加的key,如果已经存在,取出来加上你新添加的value,再存进去。

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报 1 0
  1.         public void removeRepet(List <Map<String,Object>> list){
  2.                 //遍历list集合
  3.                 for(int i=0;i<list.size()-1;i++){
  4.                         /**
  5.                          * 取得map集合的key集合并迭代,并与其它map集合的key比较
  6.                          */
  7.                        
  8.                         for(int j=i+1;j<list.size();j++){
  9.                                 Iterator its=list.get(i).keySet().iterator();
  10.                                 while(its.hasNext()){
  11.                                         String key=its.next().toString();
  12.                                         //判断key值是否存在,若存在去掉重复
  13.                                         if(list.get(j).containsKey(key)){
  14.                                                 list.get(i).put(key,list.get(i).get(key).toString()+list.get(j).get(key).toString() );
  15.                                                 list.get(j).remove(key);
  16.                                         }
  17.                                 }
  18.                         }
  19.                 }
  20.        
  21.         }
复制代码

遍历list,将map中的key值利用constainsKey方法找出重复的键并去掉

评分

参与人数 2技术分 +1 黑马币 +2 收起 理由
FFF + 1 赞一个!
汤柳清 + 2 赞一个!

查看全部评分

回复 使用道具 举报
不错!学些一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马