问题描述
我正在寻找一个很好的解决方案来从现有集中创建子集。 例如,我有一个包含1000个对象(或其他对象)的集合,我需要组一个由该主要集合中的100个对象组成的“团队”。 我正在与JAVA一起工作,我知道如果我仅创建具有该100个对象的另一个数组。
假设我有A类,B类和C类。B类包含集合,C类包含子集(team..wtv),并且集合由A类对象组成。 我的问题是,如果A类使C类对象成为其所属的C类特定实例的一部分,则“需要知道”。
我希望我足够清楚地解释我的情况并获得帮助。
谢谢 ;]
1楼
我假设类A
具有将C
的实例与A
关联的方法,例如在父/子关系中。
class A {
void setParent(Object obj);
Object getParent();
}
在这种情况下,过滤包含在B中的原始集合后,请使用addA
或setMySet
来将您的子集与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);
}
}
}