kotlin中的嵌套对数组

我想在kotlin中使用嵌套对,比如"a" to {"b" to "c"}

我努力了 :

 "teachers" to {"a" to "c"; "c" to "d"} 

但是当我调试这个,数据类型是:

  (teachers, () -> kotlin.Pair<kotlin.String, kotlin.String>) 

如何使用这个?

如果不使用

 "a" to mapOf("a" to "b"...) 

可能吗?

{ A -> B }是一个匿名函数,其参数是A ,body是B

{ B }{ () -> B }的简写形式。

此外,

 A; B 

是相同的

 A B 

因此{"a" to "c"; "c" to "d"} {"a" to "c"; "c" to "d"}是指参数列表是() (零参数)和body是一个函数

 Pair("a", "c") Pair("c", "d") 

这相当于类似::noName东西

 fun noName() { Pair("a", "c") return Pair("c", "d") } 

无论如何,你的代码中的大括号是什么? 他们不是指“双”。 我想你的意思是代表一个地图(或字典)在Python中,但对不是地图,反之亦然。

嵌套对是这样的: "a" to ("b" to "c")相当于Pair("a", Pair("b", "c"))

如果你想在Kotlin中制作地图,你应该使用mapOf()函数。

如果你想在Kotlin中创建一个数组,你可以像arrayOf("a" to "b", "c" to "d")

另外,数组不是地图,反之亦然。

这是(一对(一个字符串)和一个(一对字符串))的数组的一个例子。

 "a" to arrayOf("b" to "c", "d" to "e")