java - 基于键对 HashMap 进行排序

标签 java hashmap

我在 java 中有以下 HashMap :

{B046=0.0, A061=3.0, A071=0.0, B085=0.0, B075=3.0, B076=9.0, B086=3.0, B095=0.0, B096=0.0, A052=0.0, B066=0.0, B056=9.0, B065=0.0, B055=9.0}

我应该如何对 HashMap 进行排序,以便考虑字母,然后是数字?

生成的 HashMap 应如下所示:

{A052=0.0,A061=3.0,A071=0.0,B046=0.0,B055=9.0,B056=9.0,B065=0.0,B066=0.0,B075=3.0,B076=9.0,B085=0.0,B086=3.0,B095=0.0,B096=0.0}

感谢您的帮助!

最佳答案

使用排序的TreeMap:

Map<String, Float> map = new TreeMap<>(yourMap);

它会自动放置按键排序的条目。我认为自然的 String 排序在你的情况下会很好。

请注意,由于查找优化,HashMap 不会保留顺序。

关于java - 基于键对 HashMap 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7860822/

相关文章:

java - HashMap 作为字符串的 ArrayList

java - 包含不同 Fragment 的 HashMap(或 ArrayList)

java - 使用javascript更改java变量的值?

java - 替换运行时对 System.currentTimeMillis() 的调用

java - Java SWT 中是否支持 HTML5?

java - HashMap 应该是未排序的,但仍然根据键排序

java - 如何从Java 7中的.txt文件提取主机名和主机请求的出现?

java - arrayList中一一保存文件信息

java - NetBeans Matisse - 从另一个类访问 jframe 组件

Java HashMap<String,List<String>>() 比较