如果 HashMap 被构造并“填充”,那么它在下次读取时是否保留其元素的顺序?作为 LinkedHashMap?

发布于 2024-08-29 06:47:26 字数 207 浏览 9 评论 0原文

假设我有一个返回 HashMap 对象的 Java 方法。

因为 LinkedHashMap 是 HashMap 的子类,所以我可以从此方法返回 LinkedHashMap 。

在下一个“读取”操作(不添加/删除/修改 K/V 对)中,迭代结果方法(返回 HashMap)的键将按照与原始 LinkedHashMap 相同的顺序进行,即使 HashMap缺少关键环节?

Suppose I have a Java method that returns a HashMap object.

Because a LinkedHashMap is a subclass of HashMap, I can return a LinkedHashMap from this method just fine.

On the next "read" action (no adding/removing/modifying of K/V pairs), would iterating over the keys of the resulting method (which returns a HashMap) go in the same order as the originating LinkedHashMap, even though the HashMap lacks the key links?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

豆芽 2024-09-05 06:47:26

是的。对象的实际实例仍然是返回的 LinkedHashMap,因此它将有其迭代顺序。

但是,我不会依赖于此。如果迭代顺序很重要,为什么还要使用 HashMap? 这可能是代码异味。

Yes. The actual instance of the object is still the returned LinkedHashMap, therefore it will have its iterating order.

However, I wouldn't depend on this for anything. Why are you using HashMaps if iterating order is important? This might be a code smell.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文