我需要一个行为类似于Map的数据结构,但使用多个(不同类型的)键来访问其值.
(我们不要太笼统,让我们说两把钥匙)
钥匙保证是独一无二的.
就像是:
MyMap<K1,K2,V> ...
Run Code Online (Sandbox Code Playgroud)
使用以下方法:
getByKey1(K1 key)...
getByKey2(K2 key)...
containsKey1(K1 key)...
containsKey2(K2 key)...
Run Code Online (Sandbox Code Playgroud)
你有什么建议吗?
我唯一能想到的是:
编写一个内部使用两个Maps的类.
编辑
有些人建议我使用元组,对或类似作为Java Map的键,但这对我不起作用:
如上所述,我必须能够通过两个键中的一个来搜索值指定.
地图使用密钥的哈希码并检查它们的相等性.