Collections 引用Kotlin中地图内部的列表元素

Collections 引用Kotlin中地图内部的列表元素,collections,kotlin,Collections,Kotlin,我是科特林的新手,还在努力学习。我已经研究这个问题好几个小时了,但仍然没有找到答案。我想通过索引从列表内部获取一个元素。我想出了一个简单的列表,就像这样 val my_list = listOf(1,2,3) println(my_list.get(0)) 上面的方法是有效的,但是当我尝试使用存储在地图中的列表来执行此操作时 val my_list = mutableMapOf<String, Any>() my_list["set1"] = listOf(1,2,3) my_l

我是科特林的新手,还在努力学习。我已经研究这个问题好几个小时了,但仍然没有找到答案。我想通过索引从列表内部获取一个元素。我想出了一个简单的列表,就像这样

val my_list = listOf(1,2,3)
println(my_list.get(0))
上面的方法是有效的,但是当我尝试使用存储在地图中的列表来执行此操作时

val my_list = mutableMapOf<String, Any>()

my_list["set1"] = listOf(1,2,3)
my_list["set2"] = listOf("A","B","C")
my_list["set3"] = listOf("d","e","f")

val sub_list = my_list["set1"]

println(sub_list.get(0))
val my_list=mutableMapOf()
my_list[“set1”]=listOf(1,2,3)
我的清单[“set2”]=清单(“A”、“B”、“C”)
我的清单[“set3”]=清单(“d”、“e”、“f”)
val sub_list=我的_list[“set1”]
println(sub_list.get(0))
我得到以下错误

未解析的引用。下列候选人均不适用 由于接收器类型不匹配:@InlineOnly公共内联运算符 有趣的地图。获取(键:Int):??? 在kotlin.collections@SinceKotlin public operator fun中定义 获取(名称:字符串):匹配组?定义于 kotlin.text


注意:我主要使用Python,所以我已经习惯了。我试图在Kotlin中重现Python的功能,它有一个列表字典。

问题在于映射的类型声明,它应该是:

val my_list = mutableMapOf<String, List<Any>>()
将返回
List?
,这意味着
my\u List
可能没有指定键的值。如果是这种情况,您必须执行以下操作:

sub_list?.get(0)?.run { println(it) }
如果
子列表
为空,这反过来也可能导致异常。这可以通过以下方式解决:

vsub_list?.firstOrNull()?.run { println(it) }
vsub_list?.firstOrNull()?.run { println(it) }