我需要遍历HashMap,但要重视值的顺序。
例如,考虑以下<String, Integer>
的哈希映射:
{"dog" : 2, "bird": 3, "cat" : 1}
现在,我需要按升序循环遍历hasp映射,以便
for () {
System.out.println( currentKey );
}
将始终输出
“猫”,“狗”,“鸟”
最佳答案
如果您想让地图在插入条目时按值对自身进行排序,那么最简单的方法可能是使用Google收藏库中的TreeMultimap之类的东西。
如果您仍想使用哈希映射,但是在从集合中检索值时对值进行了排序,则可以采用两种方法-可以使用values()方法获取值,然后在工具集上运行Collections.sort()返回列表,或者您可以再次使用TreeMultimap之类的类,将所有条目添加到当前哈希图中,然后对它们进行枚举。