我最近实现了一项依赖于Map of Map结构的工作,这仅仅是因为我需要两个键来指向一个值。据我了解,字典在概念上应该为每个值使用一个键来映射整个事物。
一对指向单个值的键的正确数据结构是什么?例如,您将使用Java或C ++的哪种集合来实现此目的?
答案 0 :(得分:1)
让我们举一个实际的例子:一个函数值在二维平面上某些整数点上。函数就是f : (int x, int y) -> double value
。
直接的方法是将所有参数打包在struct
中。
在此示例中,这意味着该函数将点映射到值,并且点是两个pair
的{{1}}或具有两个int
字段或吸气剂的自定义struct Point
如果需要的话。
因此,数据结构为int
,在简单情况下,map <Point, double> f
可以为Point
。
我们也可以说该函数是从pair <int, int>
到一元参数函数族的映射,后者将int x
映射到int y
。
数据结构将如下所示:double value
。
选择取决于正在建模的功能,也许还取决于性能方面的考虑。