-3

这里HashMap<Integer, String>用于存储值,并String与此值相关联。据我所知,当您将 value 和String放入 时HashMap,它将按值(因为这里的值是Integer)按升序排序。
现在,我想做的是从rank1到rank4获取值,如果我不知道键的值,我该怎么做?

4

5 回答 5

6

不,这是不正确的:

hashmap,将按值排序

HashMap 不按键排序。如果你想要这样,你应该使用 TreeMap。它使用键的自然顺序。

如果您使用 LinkedHashMap,它将为您保留插入顺序。也许知道这会很有用。

您最好花更少的时间在这里提出问题,通过花更多的时间仔细阅读实现该Map接口的所有类的 javadocs 来更好地回答这些问题。也许浏览收藏教程也会有所帮助。

于 2013-04-18T13:20:57.917 回答
1

TreeMap根据其键的自然顺序或在地图创建时提供的比较器排序的用途。

HashMap不维持秩序。

有关更多信息,请参阅树图

于 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 回答