我想知道什么是最好的java容器
<Key, <pairOfType1,pairOfType2>>
我有一个关键对象1和t1和t2。
我的课程有以下属性:
public class Patient implements Externalizable {
protected int iD;
protected String name;
protected String CNP;
protected int age;
public class Treatment implements Externalizable {
protected int iD;
protected String description;
public class Diagnosis implements Externalizable {
protected int iD;
protected String name;
protected String description;
protected String date;
PS:因为我的要求是好的,所以我对'真正的节目'感到好奇。
我考虑过这个想法
private Map<Patient, <Diagnosis, Treatmet>> map = new Map<>();
答案 0 :(得分:3)
Map<Patient, Pair<Diagnosis, Treatment>>
怎么样?
对类看起来像:
public class Pair<T, U> {
private final T t;
private final U u;
public Pair(T t, U u) {
this.t = t;
this.u = u;
}
//getters
}
答案 1 :(得分:1)
Dictionary
或Map
支持此Key,Value
查询。
在您的对象模型中,您将没有t1
和t2
,而是拥有这样的类:
public class ExternalizableContainer
{
private Externalizable t1;
private Externalizable t2;
public ExternalizableContainer(Externalizable t1,Externalizable t2)
{
this.t1=t1;
this.t2=t2;
}
}
答案 2 :(得分:1)
我会创建一个包含两个值的单独对象。
class MyObject {
String val1;
String val2;
...
}
然后创建一个以MyObject作为值的地图。这假设您要存储的两个值是字符串。 @assylias通过键入类
提供了更通用的方法 new HashMap<Key, MyObject>();
答案 3 :(得分:1)
为什么不能将诊断和治疗放在课堂上并通过
Pair<Diagnosis,Treatment> pair = new Pair<>(d,t);
Map<Key, Pair> map = new Map<>();
...
,其中
class Pair<D,T> {
public D myD;
public T myT;
public Pair(D d, T t) {
myD = d;
myT = t;
}
}