public class A {
private B b;
public B getB() {
return b;
}
public void setB(B b) {
this.b = b;
// Needed only if you want to add from either end.
if (!(b.getAList()).contains(this)) {
b.getAList().add(this);
}
}
}
public class B {
private final List<A> aList = new ArrayList<>();
public List<A> getAList() {
return aList;
}
public void addA(A a) {
aList.add(a);
a.setB(this);
}
}
2条答案
按热度按时间sg3maiej1#
几乎和塔什基西的回答一样,但我认为他没有回答
a.setB(this);
... 下面是代码。我还在类的setb方法上添加了helper,但只通过关系的“拥有”端添加可能更好。假设:任何一个a只能属于一个b,否则,它需要两边的列表和不同的helper函数
xmq68pz92#
你在正确的轨道上。a上有一张单子,b上有一张单子。编写适当的getter和setter代码,并且在创建对象时不要忘记在相应的列表中插入对象。