我需要一个数据结构,其行为类似于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>。如果必须具有单个接口,请编写一个实现上述方法的包装器类。
Map<K1
V>
Map<K2, V>