Qua*_*Oat 5 java data-structures
我想知道在以下场景中使用的最佳数据结构是什么:
我有2个对象类型A和B.
A可能包含许多B的实例
A.name是唯一的.B.name在它的A实例中是唯一的(尽管不是全局唯一的)
我希望能够提供诸如getA(String aName)之类的访问器方法返回一个; getB(String aName,bName)返回b;
非常感谢所有帮助,
克里斯
听起来你需要这样的东西(除了更好的名字,初始化,错误处理等 - 这只是一个骨架):
public class AContainer
{
private Map<String, A> map;
public A getA(String name)
{
return map.get(name);
}
public B getB(String nameA, String nameB)
{
return getA(nameA).getB(nameB);
}
}
public class A
{
private Map<String, B> map;
public B getB(String name)
{
return map.get(name);
}
}
Run Code Online (Sandbox Code Playgroud)
public class DataStructure{
private Map<String, A> aMap = new HashMap<String, A>();
public getA(String name){
return aMap.get(name);
}
public getB(String aName, String bName){
A anA = getA(aName);
if(null != anA){
return anA.getB(bName);
}else{
return null;
}
}
}
public class A{
String name;
Map<String, B> myBs = new HashMap<String, B>();
public A(String name){
this.name = name;
}
public void putB(B foo){
myBs.put(foo.getName(), foo);
}
public B getB(String bName){
return myBs.get(bName);
}
}
public class B{
String name;
public B(String name){
this.name=name;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
512 次 |
| 最近记录: |