[英]how to choose or write my own java data structure allowing multi attributes search
我有一个很大的列表,其中包含一个类的许多实例,该类具有许多属性(成员变量)。 我的问题是找到一个可行的数据结构来存储这些实例,以允许基于多个属性(例如数据库搜索)进行搜索(即,一个学生班级,每个学生都有年龄,出生日期,年级和GPA。查找所有年龄在2岁以下的所有第二年级学生20至23之间)。 该地图似乎不适用,因为它只允许使用单个键,并且如果我创建了用于搜索的多属性索引,则大O仍不会减少。 我还考虑过使用像AVL树之类的树,但我认为这行不通。
如果有人可以给我一些提示,我将不胜感激。
我认为您正在寻找的是一个反向索引 (使用属性名称+值作为键)或每个属性一个反向索引。 搜索将建立为每个属性找到的所有结果的交集。
您可以这样做:
F(myObj) == true
而不是myObj.deFaultAttribute == searchParameter
) ((myObj) -> myObj.year==2 && myObj.age>=20 && myObj.age<=23)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.