Arrays Kotlin中的展平阵列

Arrays Kotlin中的展平阵列,arrays,multidimensional-array,kotlin,flatten,Arrays,Multidimensional Array,Kotlin,Flatten,我有一个二维的节点数组,我想使用Kotlin数组的展平函数将其展平为所有节点的单个数组 val nodes = kotlin.Array(width, { width -> kotlin.Array(height, { height -> Node(width, height) }) }) 然后我尝试调用2D数组上的展平函数 nodes.flatten() 但我得到了一个错误:类型不匹配:推断的类型是数组,但应为数组。还有其他方法吗?Kotlin中的数组是一个数组

我有一个二维的节点数组,我想使用Kotlin数组的展平函数将其展平为所有节点的单个数组

    val nodes = kotlin.Array(width, { width ->
    kotlin.Array(height, { height -> Node(width, height) })
})
然后我尝试调用2D数组上的展平函数

nodes.flatten()
但我得到了一个错误:
类型不匹配:推断的类型是数组,但应为数组
。还有其他方法吗?

Kotlin中的数组是一个
数组

在Kotlin 1.1发布之前,您可以维护自己版本的
flatten

/**
*返回给定数组中所有数组中所有元素的单个列表。
*/
有趣的数组。展平():列表{
val result=ArrayList(sumBy{it.size})
对于(本文件中的元素){
result.addAll(元素)
}
返回结果
}

使用更通用的
flatMap

nodes.flatMap {it.asIterable()}

更精确地指定错误,使用原始错误消息。添加记录的实际错误消息后,相同的展平方法适用于列表。您保存我。。。。
nodes.flatMap {it.asIterable()}