相关疑难解决方法(0)

Java中的双向多值映射

我正在寻找一种存储键值对的方法.我需要查找是双向的,但同时我需要为同一个密钥存储多个值.换句话说,比如BidiMap,但是对于每个键,可以有多个值.例如,它需要能够保持像对象:"s1" - > 1,"s2" - > 1,"s3" - > 2,我需要能够获取映射到每个键的值,并且对于每个值,获取与其关联的所有键.

java multimap

19
推荐指数
1
解决办法
1万
查看次数

如何在Java中实现n:m关系?

我需要在Java中实现n:m关系.用例是目录.

  • 产品可以分为多个类别
  • 一个类别可以容纳多个产品

我目前的解决方案是拥有一个具有两个哈希映射的映射类.

  • 第一个hashmap的关键是产品ID,值是类别ID列表
  • 第二个hashmap的关键是类别id,值是产品ID列表

这完全是多余的,我需要一个设置类,始终注意在两个哈希映射中存储/删除数据.

但这是我发现在O(1)中创造以下表现的唯一方法:

  • 什么产品属于哪一类?
  • 什么类别的产品?

我想在各方面避免全阵列扫描或类似的事情.

但是必须有另一个更优雅的解决方案,我不需要将数据索引两次.

请点亮我.我只有普通的Java,没有数据库或SQLite或者可用的东西.如果可能的话,我也不想真正实现btree结构.

java indexing hashtable hashmap data-structures

6
推荐指数
1
解决办法
3573
查看次数

标签 统计

java ×2

data-structures ×1

hashmap ×1

hashtable ×1

indexing ×1

multimap ×1