Java中可排序的类似HashMap的数据结构?
Java中是否存在某种类似于可以按键或值排序的HashMap的数据结构? 在PHP中,您可以使用可排序的关联数组。 Java中有这样的东西吗?
HashMap
几乎没有按照定义排序; 良好的哈希函数将产生看似随机的密钥分布。
如果要在Java中使用以排序顺序存储其元素的Map
,请考虑查看由排序二进制搜索树支持的TreeMap
。
如果你想要一些可以按键或按值排序的东西,你可能正在寻找双向地图或“bimap”。 Java在其标准库中没有,而我所知道的最接近的实现是Google的BiMap
。 但是,正如Pangea指出的那样,它不支持按排序顺序排列的元素。 您可以通过使用两个TreeMap
轻松地创建自己的实现,但是,一个从键到值,一个从值到键。
希望这可以帮助!
SortedMap仅按键排序