我总是遇到一种情况:将两个对象映射到第三个对象。它就像函数f(x,y)= z。有时,变量列表会更长。
这个概念的直接实现是这样的函数:
object myFun(Object x, Object y){
if(x==xVal1 && y== yVal1){
return zVal1;
}else if(x==xVal2 && y== yVal2){
return zVal2;
}else if(){ }else if(){
}
}
此实现仅在 x 和 y 的candicant值的大小很小时才有效。
是否有更好的数据结构设计。当 x 和 y 的值的组合空间增加时,上述实现的实现将是不可能的(也不是优雅的)。
数组和地图被认为是在乞讨。但由于 x 和 y 都确定了一个值,因此我无法解决双索引键问题的问题。
答案 0 :(得分:0)
如果您希望数据结构使用两个密钥存储数据,然后使用相同的两个密钥检索它,为什么要重新发明轮子使用Apache Commons Collection库的MultiHashMap