小编典典

如何实现具有多个键的 Map?

all

我需要一个行为类似于 Map 的数据结构,但使用多个(不同类型的)键来访问其值。
(我们不要太笼统,我们说 两个 键)

密钥保证是唯一的。

就像是:

MyMap<K1,K2,V> ...

使用以下方法:

getByKey1(K1 key)...
getByKey2(K2 key)...
containsKey1(K1 key)...
containsKey2(K2 key)...

你有什么建议吗?

我唯一能想到的是:
编写一个在内部使用两个 Map 的类。

编辑 有些人建议我使用 tuple , a pair 或类似的作为Java Map 的键,但这对我 不起作用
如上所述,我必须能够仅通过两个键中的一个来搜索值指定的。
地图使用键的哈希码并检查它们的相等性。


阅读 57

收藏
2022-08-19

共1个答案

小编典典

两张地图。一个Map<K1, V>和一个Map<K2, V>。如果您必须有一个接口,请编写一个实现上述方法的包装类。

2022-08-19