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

时间:2011-02-25 04:40:33

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

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

2 个答案:

答案 0 :(得分:4)

SortedMap仅按键排序

答案 1 :(得分:4)

HashMap几乎没有按照定义排序;一个好的哈希函数会产生一个看似随机的密钥分布。

如果要在Java中使用Map以排序顺序存储其元素,请考虑查看由排序二进制搜索树支持的TreeMap

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

希望这有帮助!