【发布时间】:2017-08-08 17:00:14
【问题描述】:
我有一个 HashMap 定义如下:
private final Map<String, DataTable> reports = new HashMap();
当我将新条目放入此 HashMap 时,它们最终会根据键按字母顺序排列。为什么要这样做?如何按照添加到 HashMap 的顺序排列它们?
【问题讨论】:
-
“按字母顺序结束”是什么意思?你能展示更多的代码吗?
-
HashMap 没有排序。树图是。
-
字符串的自然顺序是字母顺序,而
HashMap没有顺序。 -
如果您需要广告订单,请使用linkedHashmap
-
另请注意,JDK 中的趋势是更频繁地更改迭代顺序,即每次启动 JVM 时可能会有所不同。至少他们以这种方式为 Java 9 中的新集合实现了它。他们希望通过这样做,用户可以更轻松地识别代码中不需要的顺序依赖关系。