简单的设计用于存储Enum double [] String triple

时间:2010-12-15 17:37:28

标签: java tuples

HIHO,

在我的应用程序中,我有时会得到一个Enum的三倍,一个double []数组和一个String。 meanig是:有不同的“类”值(枚举类型),值本身(double [])和子类(String),更像是别名。每个类/类型可以有多个具有不同别名的值。 (但相同的值只能有一个别名)。

我的第一次尝试是

Map<Enum,List<double[]>

但我不能在那里找到别名。我现在看到两种可能性:以某种方式使用多图或引入一个新类。最后一个我想避免的,只是出于个人原因。还有哪些方法可以以给定的方式存储这个三元组?

2 个答案:

答案 0 :(得分:2)

创建一个类来封装关系。


public class Relationship
{
    private final String theAlias;
    private final double[] theDoubles;
    private final your.blah.Enum theEnum;

    public Relationship(
        final String theAlias,
        final double[] theDoubles,
        final your.blah.Enum theEnum)
    {
        this.theAlias = theAlias;
        this.theDoubles = theDoubles;
        this.theEnum = theEnum;
    }

    ... blah getters ...
}

Map<keyType, Relationship> yourMap;

keyType是String或your.blah.Enum,具体取决于您希望如何访问关系对象。

答案 1 :(得分:1)

怎么样:

Map<Enum,Map<String,double[]>>

如果枚举类型可以有多个别名字符串 - 分配给它的值列表组合,这将适合。