以下HashMap<Integer, String>
用于存储值,String
与此值相关联。据我所知,当您将值String
放入HashMap
时,它会按升序排序值(因为此值为Integer
)。
现在,我想要做的是从rank1到rank4获取值,如果我不知道key的值,我应该怎么做?
答案 0 :(得分:6)
不,这是不正确的:
hashmap,将按值
排序
HashMap按键排序不。如果你想要,你应该使用TreeMap。它使用键的自然顺序。
如果您使用LinkedHashMap,它将保留您的插入顺序。也许知道这会很有用。
通过花更多的时间仔细阅读实现Map
接口的所有类的javadoc,你可以花更少的时间在这里提出更好的答案。也许参加馆藏教程也会有所帮助。
答案 1 :(得分:1)
HashMap
永远不会排序。
TreeMap
按自然顺序排列Integer
。
因此,您可以使用TreeMap
并对其进行迭代以检索4个第一个值。
答案 2 :(得分:1)
HashMap
不对任何内容进行排序,它根据哈希码和等于元素的方法插入元素。如果您需要对元素进行排序,请使用Treemap
。
答案 3 :(得分:1)
答案 4 :(得分:1)
Hashmap不会对您在hashmap中添加的值进行排序。