2014-02-24 32 views
0

我有一個對象人(id,名稱)。收集實用程序刪除重複對象

public class Person { 


/** Personid. **/ 
private Long personId; 

/** Person Adresse. **/ 
private String adresse 

// Getters, Setters 

如何使用CollectionUtils刪除重複的人(誰擁有相同的ID)? 例如PERSON1(10,AAAA),PERSON2(10,BBBB),Person3可能(20,CCCC) 結果=> PERSON1(10,AAAA),Person3可能(30,CCCC)

編輯:

使用設置和overrinding equals和hashCode此解決方案的工作:

List<Person> oldPerson = new ArrayList<>(); 
//oldPerson.add ... 

Set<Person> newPerson = new HashSet<>(oldPerson); 

List<Person> theRightPerson = new ArrayList<>(newPerson); 

,即時通訊尋求解決的辦法是這樣的:

List<Person> theRightPerson = (List<Person>) CollectionUtils.collect(oldPerson, new Transformer() { 

     @Override 
     public Object transform(Object input) { 
      // TODO Auto-generated method stub 
      return null; 
     } 
    }) 
+0

重複(誰有不同的id)? –

+0

同樣,我編輯我的信息 – Anarki

+2

爲什麼不創建一個'Set'? –

回答