java - 是否有一张 map 可以为我提供双向散列?

标签 java hashmap

我拿着下面的 map

      Map<Integer, List<String>>

当我向某个 int 添加一个新字符串时,我只是将它添加到我的映射中该 int 值的列表中。
现在,我还需要将它从它所在的最后一个列表中删除。
我将详细说明一下:
它不是字符串的同一个实例。我得到一个 int 和一个 String,我需要添加它并将其从 map 中具有相同字符串值的前一个列表中删除。

这意味着我需要保存另一个 String 到 Integer 的映射?
我需要维护两个集合吗?
谢谢。

最佳答案

它有点像 BiMap,但由于您的关系是不对称的(一个 int 指的是一个 List 的一个 String 而一个 String 只能指一个 int ),它不会成为完美的伴侣。

在我看来你好像想要两张 map ,第一张是你的 Map<Integer, List<String>>第二个是Map<String, Integer> .当然,您希望将其封装在类里面。然后添加一个新字符串:

  1. 如果有 String 的条目在 Map<String, Integer> ,
    • 获取 Integer从那个列表。
    • 用它来查找 List来自你的 Map<Integer, List<String>>并删除 String
  2. 添加 String到相关List在你的Map<Integer, List<String>>
  3. 添加一个映射 String 的条目到 IntegerMap<String, Integer> .

关于java - 是否有一张 map 可以为我提供双向散列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5926234/

相关文章:

JavaFX 和 CSS : Prevent CSS inheritence for inner TabPane

java - 如何在不影响原始对象值的情况下创建 HashMap 对象的副本

redis - 如何在 Redis 中创建双向 HashMap ?

Java流不将List的所有值放入HashMap

java - 猜谜游戏又玩麻烦了

java - Android AAR lib - 资源链接失败

java - 如何检测 URL 中文件的真实类型?

java - HashMap 优化的影响,将与每个条目关联的哈希代码缓存到其 get 方法

java - 保存hashmap结构java

java - 您什么时候需要用于 Firebase 云消息传递的应用服务器?