我需要根据键对 HashMap 进行排序。键是一个字符串(因此我需要按字母顺序对它进行排序),值是一个整数。 我试图在网上搜索并发现树集会在您放置后自动对其进行排序。有人可以指导我如何将它转换成树集,或者我是否可以使用 HashMap 对它进行排序。
提前致谢
最佳答案
由于 hashmaps 根据定义是未排序的映射,因此您需要为此使用另一个容器。根据您的需要,有多种选择,其中一些是:
- 临时或替代使用
TreeMap
而不是HashMap
。这将是最佳选择,除非您必须保留 HashMap 。 - 使用
TreeSet
对键进行排序,然后遍历键并从HashMap
中提取值。 - 执行与选项 2 相同的操作,但在迭代期间填充新的
LinkedHashMap
。这将导致一个映射以插入顺序返回值,由于使用排序集,插入顺序恰好是排序顺序。请注意,向LinkedHashMap
添加元素会将所有新元素附加到末尾 -LinkedHashMap
仍按插入顺序排序。
关于java - 对 HashMap 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26762530/