最有效的Many-Many对象映射(以JSON格式)

时间:2011-08-31 06:55:10

标签: json orm many-to-many hashmap

我需要使用JSON表示两个不同对象组之间的多对象映射。例如,假设我的第一组对象是“学生”,第二组是“课程”。每个学生可以有很多课程,但每门课程也可以有很多学生。是否存在表示此类模式的标准方法,以便查找尽可能高效?

我知道我可以,例如,

"ELEC1000": ["Bob", "Jessica", "Jeff"],
"MECH1000": ["Aaron", "Bob", "Ben", "Sally"] 

当试图找到学生在ELEC1000中注册的内容时,这将导致非常快的结果,但是会使搜索Bob注册的课程效率低下。我怀疑我需要使用某种类型的散列图,但我不完全确定如何实现它。

提前致谢!

1 个答案:

答案 0 :(得分:2)

如果您希望双向高效查找,则需要复制数据(以数据库称为索引的形式)。

例如,除了您已经拥有的地图(course =>学生列表)之外,还要构建相反的地图(student =>课程列表)。

当然,您需要在有更新时维护两个地图。