我需要一个行为类似于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的键,但这对我不起作用:
如上所述,我必须能够通过两个键中的一个来搜索值指定.
地图使用密钥的哈希码并检查它们的相等性.
假设您有几百个内存中对象的集合,并且您需要查询此List以返回与某些SQL或条件(如查询)匹配的对象.例如,您可能拥有一个汽车列表对象,并且您想要返回在20世纪60年代制造的所有汽车,车牌以AZ开头,按车型名称排序.
我知道JoSQL,有没有人使用过这个,或者有其他/本土解决方案的经验?