2013-03-19 80 views
-3

我在Java中收集,也有在此集合相同的記錄,只有一個字段不同,所以我想環路直通收集僞像這樣:過濾器集合與所有相同的記錄,除了一列不同?

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

集合包含該POJO的反覆名, 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 
+2

你標記了你的問題「java」。你確定你不應該把它標記爲「mysql」或類似的東西嗎?也許你會實際得到一些數據庫問題的幫助。 – 2013-03-19 23:34:10

+0

我認爲更好的問題是「你爲什麼要存儲像這樣的數據?」。您是否正在從嚴重需要重新設計的數據庫中讀取數據? – Aurand 2013-03-20 00:23:42

+0

1-M表關係,所以1人可以有多個銀行,查詢返回除銀行以外的多重記錄不同。 – user2188700 2013-03-20 00:27:54

回答

0

覆蓋equals方法的名稱,編號和地址在POJO /哈希方法。創建一個集合並連續添加元素。在添加檢查ID之前,通過調用方法已經存在該對象。如果它在那裏,從新集合中獲取對象,則通過追加現有集合中的地址來更新地址。

相關問題