2011-03-29 43 views
1

我在尋找一個很好的解決方案來創建一個現有的子集。 例如,我有一個包含1000個對象(或任何..)的集合,我需要創建一個由來自該主集合的100個對象組成的「團隊」。 我正在使用JAVA,我知道如果我只是創建另一個數組與100對象將做。從現有創建子集的有效方法?

假設我有一個類A,一個類B和一個類C.類B包含該集,而類C包含子集(team..wtv),並且該集由類A對象組成。我的問題是,如果A類是「C類對象」的一部分,並且屬於C類的特定實例,那麼它就「需要知道」。

我希望我清楚地解釋我的情況並獲得一些幫助。

謝謝]

回答

0

我假設類A必須與AC一個實例關聯像父/子關係的方法。

class A { 
    void setParent(Object obj); 
    Object getParent(); 
} 

在這種情況下,你過濾包含在B中的原集後,使用addAsetMySet你的子集C關聯:

class C { 
    private Set<A> mySet; 

    public void addA(A a) { 
     mySet.add(a); 
     a.setParent(this); 
    } 

    public void setMySet(Set<A> subset) { 
     mySet = new HashSet<A>(subSet); 
     for(A a in subSet) { 
     a.setParent(this); 
     } 
    } 

} 
+0

我們能有一個完整的例子 – Deepak 2011-03-31 12:00:32