【问题标题】:Sortable HashMap-like data structure in Java?Java中可排序的类似HashMap的数据结构?
【发布时间】:2011-07-04 01:50:17
【问题描述】:

Java 中是否有某种类似于 HashMap 的数据结构可以按键或值排序?在 PHP 中,您可以拥有可排序的关联数组。 Java中有这样的东西吗?

【问题讨论】:

    标签: java sorting data-structures hashmap associative-array


    【解决方案1】:

    SortedMap 仅按键排序

    【讨论】:

      【解决方案2】:

      HashMaps 几乎按照定义未排序;一个好的散列函数会产生看似随机的键分布。

      如果您想在 Java 中使用按排序顺序存储其元素的 Map,请考虑查看由排序二叉搜索树支持的 TreeMap

      如果您想要可以按键或按值排序的东西,您可能正在寻找双向映射或“bimap”。 Java 的标准库中没有 on,我所知道的最接近的实现是 Google's BiMap。但是,正如 Pangea 指出的那样,它不支持按排序顺序排列的元素。不过,您只需使用两个TreeMaps,一个从键到值,一个从值到键,就可以轻松实现自己的实现。

      希望这会有所帮助!

      【讨论】:

      • 我认为 BiMap 不支持排序的键或值
      • @Pangea- 我不知道;感谢您指出了这一点。我已经相应地更新了我的答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-31
      • 1970-01-01
      • 2015-05-20
      • 2015-04-11
      • 2013-06-19
      • 1970-01-01
      相关资源
      最近更新 更多