黑马程序员技术交流社区

标题: Map集合 [打印本页]

作者: 汤柳清    时间: 2014-1-16 15:06
标题: Map集合
List <Map<String,Object>>这种结构如何根据Map中多个相同的key把某个key的value合并到一个字符串中,把多余的map数据删除掉


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



作者: 浮出一个美    时间: 2014-1-16 16:40
你的map在put的时候看看map里是否contansKey你新添加的key,如果已经存在,取出来加上你新添加的value,再存进去。
作者: qisikudingcha    时间: 2014-1-16 17:01
  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方法找出重复的键并去掉
作者: anxinjia    时间: 2014-1-21 21:53
不错!学些一下




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2