我正在寻找一种存储键值对的方法.我需要查找是双向的,但同时我需要为同一个密钥存储多个值.换句话说,比如BidiMap,但是对于每个键,可以有多个值.例如,它需要能够保持像对象:"s1" - > 1,"s2" - > 1,"s3" - > 2,我需要能够获取映射到每个键的值,并且对于每个值,获取与其关联的所有键.
我需要在Java中实现n:m关系.用例是目录.
我目前的解决方案是拥有一个具有两个哈希映射的映射类.
这完全是多余的,我需要一个设置类,始终注意在两个哈希映射中存储/删除数据.
但这是我发现在O(1)中创造以下表现的唯一方法:
我想在各方面避免全阵列扫描或类似的事情.
但是必须有另一个更优雅的解决方案,我不需要将数据索引两次.
请点亮我.我只有普通的Java,没有数据库或SQLite或者可用的东西.如果可能的话,我也不想真正实现btree结构.