`
sailor_sg
  • 浏览: 884 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

相同的内容合并,不相同的保留

    博客分类:
  • java
阅读更多

工作中要用的把 meberId  相同的内容合并,不相同的保留 ,我写个算法看看大家有没有更容易的写法!

 

              ArrayList al=new ArrayList();

HashMap hm= new HashMap();

hm.put("memberId", "0001");

hm.put("memberName", "shi");

hm.put("memberAddress", "beijing");

al.add(hm);

hm= new HashMap();

hm.put("memberId", "0001");

hm.put("memberName", "shi2");

hm.put("memberAddress", "beijing2");

al.add(hm);

hm= new HashMap();

hm.put("memberId", "0002");

hm.put("memberName", "shi");

hm.put("memberAddress", "beijing");

al.add(hm);

//遍历

Object[] objs=al.toArray();

HashSet hset= new HashSet();

for(int i=0;i<objs.length;i++){

String tem=((HashMap)objs[i]).get("memberId").toString();

hset.add(tem);

}

Object[] hsarray= hset.toArray();

Object[] reObject=new Object[hsarray.length];

for(int i=0;i < hsarray.length;i++){

String keyVal= hsarray[i].toString();

String temName="";

                    

for(int j1=0;j1<objs.length;j1++){

String tem=((HashMap)objs[j1]).get("memberId").toString();

if(keyVal.equals(tem)){

temName+=((HashMap)objs[j1]).get("memberAddress")+"//";

((HashMap)objs[j1]).put("memberAddress", temName);

reObject[i]=objs[j1];

}else{

temName="";

  }

}

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics