Java 如何实现具有多个键的地图?

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

(让我们不太笼统,假设有两个键)

键保证是唯一的。

就像是:

MyMap<K1,K2,V> ...

使用以下方法:

getByKey1(K1 key)...

getByKey2(K2 key)...

containsKey1(K1 key)...

containsKey2(K2 key)...

你有什么建议吗?

我唯一能想到的是:

编写一个内部使用两个Maps的类。

编辑 有人建议我使用元组,一对或类似键作为Java Map的键,但是这对我来说不起作用:

如上所述,我必须只能通过两个键之一来搜索值指定。

映射使用键的哈希码并检查其相等性。

回答:

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

以上是 Java 如何实现具有多个键的地图? 的全部内容, 来源链接: utcz.com/qa/412794.html

回到顶部