HIHO,
在我的应用程序中,我有时会得到一个Enum的三倍,一个double []数组和一个String。 meanig是:有不同的“类”值(枚举类型),值本身(double [])和子类(String),更像是别名。每个类/类型可以有多个具有不同别名的值。 (但相同的值只能有一个别名)。
我的第一次尝试是
Map<Enum,List<double[]>
但我不能在那里找到别名。我现在看到两种可能性:以某种方式使用多图或引入一个新类。最后一个我想避免的,只是出于个人原因。还有哪些方法可以以给定的方式存储这个三元组?
答案 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[]>>
如果枚举类型可以有多个别名字符串 - 分配给它的值列表组合,这将适合。