我有一个如下定义的HashMap:
private final Map<String, DataTable> reports = new HashMap();
当我将新条目放入此HashMap中时,它们会根据key按字母顺序排列。为什么会这样?如何按照我添加到HashMap中的顺序对它们进行排序?
我有一个如下定义的HashMap:
private final Map<String, DataTable> reports = new HashMap();
当我将新条目放入此HashMap中时,它们会根据key按字母顺序排列。为什么会这样?如何按照我添加到HashMap中的顺序对它们进行排序?
HashSet
,对吗?因为其他的 Set
实现可能不会按照哈希码进行排序。 - ZabuzardLinkedHashMap
以便它们保持添加的顺序。 - Rabbit GuyLinkedHashMap- preserve the insertion order.
TreeMap - Elements sorted after insertion.
HashMap 不维护插入元素的顺序。
HashMap 不会按照你添加的方式添加值,它只是根据键随机添加值。如果想按照添加顺序添加值,请使用 LinkedHashMap
;如果想按字母顺序排序,则使用 TreeMap。希望这能解决你的疑问。