我有很多实例两个类Children
,Animal
它们具有多对多实体关系。
我想要一个数据结构,这样给定一个Children
我可以得到一个Animal
映射到它的列表,反之亦然。对于任何给定Animal
的,我都可以获得Children
映射到它的列表。
我需要这个数据结构是并发的,这样任何线程都可以访问它。
所以给出一个示例映射:
Child1 -> Animal1
Child1 -> Animal2
Child1 -> Animal3
Child2 -> Animal2
Child2 -> Animal3
Child3 -> Animal3
查询Child1
我希望得到一个返回的列表:[ Animal1, Animal2, Animal2 ]
。
查询Animal2
我希望得到一个返回的列表:[ Child2, Child3 ]
。
我能想到的唯一方法是为该字典中的每个项目(动物和儿童)使用字典和列表,但我还必须处理锁定列表的同步,这很麻烦。