<key,<pairoftype1,pairoftype2 =“”>&gt; </key,>的最佳容器

时间:2012-12-21 15:28:48

标签: java containers

我想知道什么是最好的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<>();

4 个答案:

答案 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)

DictionaryMap支持此Key,Value查询。

在您的对象模型中,您将没有t1t2,而是拥有这样的类:

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;
        }
    }