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

如何在Kotlin的mapOf中使用索引?对比Python字典的实现方式

Kotlin中Map取值的相关说明

首先要明确两个关键点:

  • Kotlin里的普通Map(对应Python的字典)默认不保证键值对的顺序,因此"第一个值"的概念仅在有序Map中有意义。
  • Kotlin的Map.values返回的是Collection类型,不支持直接通过索引[0]访问元素,必须先转换为支持索引的集合(比如List)。

实现类似功能的正确写法

如果需要按插入顺序获取第一个值,你需要先创建有序的Map,再将值集合转为List后索引访问:

  1. 创建有序Map(推荐显式使用linkedMapOf来保证插入顺序):
val x = linkedMapOf("A" to "Apple", "B" to "Banana")

(注:JVM平台下mutableMapOf默认也是LinkedHashMap,同样能保留插入顺序,但显式使用linkedMapOf语义更清晰)

  1. 获取第一个值:
println(x.values.toList()[0]) // 输出 Apple

注意事项

  • 如果使用无序的HashMap,则无法保证每次获取的"第一个值"是固定的,因为其内部存储顺序是随机的。
  • Python中你提到的写法其实需要修正:正确的字典定义应为X = {"A": "Apple", "B": "Banana"},且取值需转为列表print(list(X.values())[0]),因为X.values()返回的是视图对象而非可直接索引的列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 00:05:26