Map中查询对象

我在map中key存放对象的主键值,value存放对象(不知道对象有几个属性)。我要可以实现任意一个属性或属性的任意组合在map中查询对象。可以写多个方法。

4个回答

假如要足够动态的话 用反射实现
你的value不是存入的对象吗,那么在传入属性名和值之后,根绝对象的getFields()得出所有属性来匹配,匹配出来的属性(一个或者多个)动态调用get方法,然后和你传入的值来做比较,假如符合,则是此主键索引的对象。这里要注意的就是,你传入的值有可能是 = > <甚至是like。所以你最好抽离一个规则来定义匹配方法。其实你的想法就和内存数据库差不多 假如要具体代码可以站内给我留言。

这种查询不建议使用map

这个功能可以实现,无非就是循环一次,通过属性过滤一下

除了遍历,别无他法

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!