【发布时间】:2011-01-22 10:11:31
【问题描述】:
我需要遍历一个 HashMap,但要重视值的顺序。
例如,考虑以下<String, Integer> 的哈希映射:
{"dog" : 2, "bird": 3, "cat" : 1}
现在,我需要按值升序循环遍历搭扣图,以便
for () {
System.out.println( currentKey );
}
总是会输出
“猫”、“狗”、“鸟”
【问题讨论】:
-
在您的问题中,您的键和值都以相同的方式排序,因此很容易误解您的问题。如果地图是
{"r" : 2, "q": 3, "z" : 1},您想要z r q(根据值1、2、3 的顺序)还是q r z?你已经说过“值的顺序”,所以我假设你想要z r q(根据值 1、2、3 的顺序),但是......另外,是否有重复的值?例如,{"r" : 2, "q": 3, "z" : 1, "w": 1}(有两个条目的值为1)。如果是这样,您希望它们按什么顺序排列?用钥匙?不确定? -
您修复了第一部分,而不是第二部分:“另外,是否存在重复值?例如,
{"r" : 2, "q": 3, "z" : 1, "w": 1}(有两个条目的值为1)。如果是这样,您希望它们按什么顺序排列?按键?不确定?”
标签: java collections hashmap