java - 对 HashMap 进行排序

标签 java sorting hashmap treeset

我需要根据键对 HashMap 进行排序。键是一个字符串(因此我需要按字母顺序对它进行排序),值是一个整数。 我试图在网上搜索并发现树集会在您放置后自动对其进行排序。有人可以指导我如何将它转换成树集,或者我是否可以使用 HashMap 对它进行排序。

提前致谢

最佳答案

由于 hashmaps 根据定义是未排序的映射,因此您需要为此使用另一个容器。根据您的需要,有多种选择,其中一些是:

  1. 临时或替代使用TreeMap 而不是HashMap。这将是最佳选择,除非您必须保留 HashMap 。
  2. 使用 TreeSet 对键进行排序,然后遍历键并从 HashMap 中提取值。
  3. 执行与选项 2 相同的操作,但在迭代期间填充新的 LinkedHashMap。这将导致一个映射以插入顺序返回值,由于使用排序集,插入顺序恰好是排序顺序。请注意,向 LinkedHashMap 添加元素会将所有新元素附加到末尾 - LinkedHashMap 仍按插入顺序排序。

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

相关文章:

java - 如何允许在此 Java 代码中检查两个以上的单词

java - Netty(Dummy)用于现有服务

java - OpenGL 着色器未传递正确的纹理坐标

java - 在 Java 8 中反转比较器

java - 缓存最后 n 个查询结果的最有效方法?

java - 具有恒定访问时间并允许重复的 Java 数据结构

java - Android:如何在 android studio 中配置 FFMPEG 最新版本?

java - 没有级联删除目标的级联删除关系

ios - 按编号对解析对象进行排序

c++ - 桶排序实现