You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin/JS与Kotlin/Native中的MutableMap是否为LinkedHashMap?

Kotlin多平台MutableMap默认迭代顺序说明

Kotlin标准库对所有平台的mutableMapOf()默认返回的MutableMap实例,都明确承诺会保留插入顺序,迭代操作时顺序和插入顺序完全一致,这不是JVM平台的特有特性。
各平台具体实现逻辑如下:

  • Kotlin/JVM:正如你了解的,默认mutableMapOf()返回LinkedHashMap实例,天然支持插入顺序保留,迭代行为完全符合预期。
  • Kotlin/JS:底层默认基于ES6标准的Map对象实现,而ECMAScript规范明确要求JS原生Map必须按照元素插入顺序执行迭代,因此Kotlin/JS的默认MutableMap也严格遵守插入顺序。
  • Kotlin/Native:标准库的默认MutableMap底层采用专门的有序哈希表实现,设计上就对齐了其他平台的行为,迭代时同样会严格遵循插入顺序。

注意:以上承诺仅适用于mutableMapOf()返回的默认MutableMap实例。如果你主动显式创建非有序的Map实现(比如HashMap),无论在哪个平台运行,都不会保证迭代顺序和插入顺序一致。

内容的提问来源于stack exchange,提问作者healthsgood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 15:24:03