我有以下代码:
public class A {
private String name;
private List bs;
public A(String name) {
this.name = name;
this.bs = new ArrayList<>();
}
public void addB(B b) {
bs.add(b);
}
public List getBs() {
return bs;
}
}
public class B {
private String name;
public B(String name) {
this.name = name;
}
public String toString() {
return name;
}
}
以下主要内容:
public static void main(String[] args) {
A a1 = new A("A1");
A a2 = new A("A2");
B b1 = new B("B1");
B b2 = new B("B2");
B b3 = new B("B3");
a1.addB(b1);
a2.addB(b2);
a1.addB(b3);
System.out.println(a1.getBs()); // [B1, B3]
b3.getA(); // How can I do this? => Should return A1
}
现在我需要获得给定A的所有B.它完美地运行.
但我还需要得到一个给定的B.
每个B都是独特的.所以每个B只能是一个A的成员.
做这个的最好方式是什么?
解决方法:
您可以将A成员添加到B
public class B {
private String name;
private A a;
public B(String name) {
this.name = name;
}
public String toString() {
return name;
}
public void setA(A a) {
this.a = a;
}
public A getA() {
return this.a;
}
}
将B添加到A时设置
public void addB(B b) {
bs.add(b);
b.setA(this);
}
标签:java,collections,java-8,list
来源: https://codeday.me/bug/20190722/1501619.html