java - Java 中可排序的类似 HashMap 的数据结构?

标签 java sorting data-structures hashmap associative-array

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

最佳答案

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

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

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

希望这对您有所帮助!

关于java - Java 中可排序的类似 HashMap 的数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5113688/

相关文章:

c - 全局变量数组指针C编程

java - 使用关键字顺序搜索

java - Spring消息驱动Bean和java.util.Queue

algorithm - `stability`在排序算法中有什么意义?

java stream sort() object to descended set of integers 失败

C++ STL 数据结构常量时间推送/弹出/通过索引随机访问元素的可靠指针

c++ - 在链表中查找节点的算法

java - Java 中的斐波那契算法

java - 从 url 保存 (xml) 文件的更好方法是什么?

iphone - 如何按值对 plist 进行排序