过滤器集合具有所有相同的记录,除了一列不同?

时间:2013-03-19 23:31:51

标签: java

我在java中收集了这个集合,这个集合中有相同的记录,只有一个字段不同,所以我想通过这样的集合伪循环:

class Pojo {
    private String name;
    private Long id;
    private String address;
    private String bank;
}

该集合包含此重复名称,ID,地址的Pojo,但银行不同 所以,如果名称,ID,地址相同,银行不同,我希望最终列表只有名称,ID,地址,并将所有汇总并用分号分隔

原创收藏:

 - Id      Name     Address                Bank
 - 1       John     123 Main Ave           BankOfAmerica
 - 2      John     123 Main Ave           Chase
 - 3      John     123 Main Ave           ING Direct
 - 4      Willy    456 My Street          Chase
 - 5      Willy    456 My Street          BankOfAmerica

预期结果:

    Name   Address            Bank
  - John   123 Main Ave       BankOfAmerica;Chase;ING Direct
  - Willy  456 My Street      Chase;BankOfAmerica

1 个答案:

答案 0 :(得分:0)

使用名称,ID和地址覆盖POJO中的equals / hash方法。创建一个集并连续添加元素。在添加check id之前,通过调用contains()方法已经存在对象。如果它在那里,从新集合中获取对象,通过附加现有集合中的地址来更新地址。