java代码合并相同值得行_java第一列相同的行的第二列合并

合并有重复列的行

现在两列数据如下:

1000    10001

2000    20001

2000    20002

3000    30001

3000    30002

3000    30003

这样的格式,第一列有重复,

想要把第一列相同的行的第二列合并起来。

如下所示的格式:

1000 : 10001

2000 : 20001,20002

3000 : 30001,30002,30003

代码如下:

List listA = new ArrayList();

List listB = new ArrayList();

Event evt = null;

//构造伪数据

for(int i=1;i<2;i++)

{

evt = new Event();

evt.setName("1000");

evt.setAge("1000"+i);

listA.add(evt);

}

for(int i=1;i<3;i++)

{

evt = new Event();

evt.setName("2000");

evt.setAge("2000"+i);

listA.add(evt);

}

for(int i=1;i<4;i++)

{

evt = new Event();

evt.setName("3000");

evt.setAge("3000"+i);

listA.add(evt);

}

//拷贝集合

listB.addAll(listA);

List listTemp = new ArrayList();

//循环集合A

for(int i=0;i

{

StringBuffer sbA = new StringBuffer();

//把第每一次的第一列找出来

sbA.append(listA.get(i).getName()).append(": ");

for(int j=0;j

{

//如果存在集合A和集合B相同的第一列,则把第二列的数据追加

if(listA.get(i).getName().equals(listB.get(j).getName()))

{

sbA.append(listB.get(j).getAge()).append(",");

}

}

//最后把组装好的数据放入临时数组

listTemp.add(sbA.toString());

}

//因为最后可能存在相同的行,这里去除重复项

List list = new ArrayList();

for(String str : listTemp)

{

if(!list.contains(str))

{

list.add(str);

}

}

System.out.println("最后的数据格式如下:");

for(String str : list)

{

if(str.endsWith(","))

{

str = str.substring(0,str.length() - 1);

}

System.out.println(str);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值