2010-05-27 64 views
2

List listDataClient;反向列表<Object>

我班DataCLient:

Client client; 
List<String> phoneNumber; 

我有第二個列表

List<DataPhoneNumber> listPhoneNumber; 

我班DataPhoneNumber:

String phoneNumber; 
List<Client> client; 

在我的代碼,我把數據在我的第一個列表中,但現在我想在第二個我的名單。在第一個列表中,我有一個帶有NumberPhone的客戶端,現在我想要爲客戶端提供數字電話

+0

我仍然在尋找這個問題:-) – 2010-05-27 15:53:53

+0

哈哈,問題:我該如何做相反的listDataClient? – Mercer 2010-05-27 15:54:40

回答

1

這聽起來像是您試圖模擬多對多關係。

一種方法是創建一個類來明確表示這種關係:PhoneNumberAssociation;例如

public class PhoneNumberAssociation { 
    private final Set<Client> clients; 
    private final Set<String> phoneNumbers; 

    public void addClient(Client client) { 
    this.clients.add(client); 
    } 

    public void addPhoneNumber(String phoneNumber) { 
    this.phoneNumbers.add(phoneNumber); 
    } 
} 

當他們在關係中沒有明顯的父母或小孩角色時,我傾向於贊成這種方法。它比在多個對象中嵌入列表還要簡單,並且必須根據是否將電話號碼添加到客戶端/從客戶端中刪除電話號碼來添加/刪除電話號碼(或者相反,如果正在將客戶端添加到電話號碼或從電話號碼中刪除)。

+0

它應該真的有套? – aioobe 2010-05-27 15:53:10

+0

是看起來像多對多的關係。 – Mercer 2010-05-27 15:53:22

+0

集合更適合恕我直言,因爲它們可以防止重複。儘管訂購併不總是被要求,但人們傾向於使用習慣列表。我當然在這裏做一個假設; OP可能會有不同的主張。 – Adamski 2010-05-27 15:55:39