这里HashMap<Integer, String>
用于存储值,并String
与此值相关联。据我所知,当您将 value 和String
放入 时HashMap
,它将按值(因为这里的值是Integer
)按升序排序。
现在,我想做的是从rank1到rank4获取值,如果我不知道键的值,我该怎么做?
问问题
168 次
5 回答
6
不,这是不正确的:
hashmap,将按值排序
HashMap 不按键排序。如果你想要这样,你应该使用 TreeMap。它使用键的自然顺序。
如果您使用 LinkedHashMap,它将为您保留插入顺序。也许知道这会很有用。
您最好花更少的时间在这里提出问题,通过花更多的时间仔细阅读实现该Map
接口的所有类的 javadocs 来更好地回答这些问题。也许浏览收藏教程也会有所帮助。
于 2013-04-18T13:20:57.917 回答
1
于 2013-04-18T13:23:31.530 回答
1
Hashmap 不会对您放入 hashmap 的值进行排序。
于 2013-04-18T13:23:48.983 回答
1
HashMap
从不排序。
TreeMap
,相反是按自然顺序排序的Integer
。
因此,您可以使用 aTreeMap
并对其进行迭代来检索前 4 个值。
于 2013-04-18T13:21:55.997 回答
1
HashMap
不对任何东西进行排序,它根据元素的 hascode 和 equals 方法插入元素。Treemap
如果您需要对元素进行排序,请改用。
于 2013-04-18T13:21:58.530 回答