如何从Hashmap获取前四个值

时间:2013-04-18 13:18:38

标签: java hashmap

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

5 个答案:

答案 0 :(得分:6)

不,这是不正确的:

  

hashmap,将按值

排序

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

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

通过花更多的时间仔细阅读实现Map接口的所有类的javadoc,你可以花更少的时间在这里提出更好的答案。也许参加馆藏教程也会有所帮助。

答案 1 :(得分:1)

HashMap永远不会排序。

相反,

TreeMap按自然顺序排列Integer

因此,您可以使用TreeMap并对其进行迭代以检索4个第一个值。

答案 2 :(得分:1)

HashMap不对任何内容进行排序,它根据哈希码和等于元素的方法插入元素。如果您需要对元素进行排序,请使用Treemap

答案 3 :(得分:1)

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

HashMap无法保持秩序。

有关详细信息,请参阅TreeMap

答案 4 :(得分:1)

Hashmap不会对您在hashmap中添加的值进行排序。