更好的数据结构映射函数与多个参数(键)

better Data structure to map function with multiple parameters(keys)

本文关键字:参数 数据结构 映射函数 更好      更新时间:2023-10-16

我总是遇到这样一种情况:将两个对象映射到第三个对象。它就像函数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(){
    }
}

此实现仅在xy的候选值很小时才有效。

是否有更好的数据结构设计。当xy值的组合空间增加时,上述实现将是不可能的(也不优雅)。

Array和Map在请求时被考虑。但是我无法解决双索引键问题,因为xy决定一个值。

如果你想要一个数据结构来存储数据使用两个键,然后检索它使用相同的两个键为什么你重新发明轮子使用Apache Commons Collection库的MultiHashMap

ref https://commons.apache.org/proper/commons-collections/javadocs/api-3.2.1/org/apache/commons/collections/MultiHashMap.html