Kotlin 数组 - flatten() 函数



Kotlin 数组的 flatten() 函数用于通过合并所有子数组来创建一个单个列表,并返回给定数组中所有数组的所有元素的列表。

例如,如果我们有一个像 arrayOf(arrayOf(1), arrayOf(2, 3)) 这样的数组数组,并且我们对其调用 flatten(),则结果列表将为 [1, 2, 3]。

语法

以下是 Kotlin 数组 flatten() 函数的语法:

fun <T> Array<out Array<out T>>.flatten(): List<T>

参数

此函数不接受任何参数。

返回值

此函数返回一个新列表,其中包含子数组的所有元素。

示例 1

以下是一个基本示例,用于演示 flatten() 函数的使用:

fun main(args: Array<String>){
   val deepArray = arrayOf(
      arrayOf(1),
      arrayOf(2, 3),
      arrayOf(4, 5, 6)
   )
   // use the flatten function
   val list = deepArray.flatten()
   println("list: $list")
}

输出

执行上述代码后,我们将得到以下结果:

list: [1, 2, 3, 4, 5, 6]

示例 2

现在,让我们看另一个示例。在这里,我们使用 flatten() 函数返回一个包含所有子数组的列表:

fun main(args: Array<String>){
   val deepArray = arrayOf(
      arrayOf("tutorialspoint"),
      arrayOf("tut", "tutorix"),
      arrayOf("Hyd", "Hyderabad", "India")
   )
   val list = deepArray.flatten()
   println("list: $list")
}

输出

执行上述代码后,我们将得到以下输出:

list: [tutorialspoint, tut, tutorix, Hyd, Hyderabad, India]

示例 3

以下示例从包含字符和字符串的子数组创建一个列表:

fun main(args: Array<String>){
   val deepArray = arrayOf(
      arrayOf("Name:"),
      arrayOf('D', 'a'),
      arrayOf('i', 's', 'y')
   )
   val list = deepArray.flatten()
   println("list: $list")
}

输出

上述代码产生以下输出:

list: [Name:, D, a, i, s, y]
kotlin_arrays.htm
广告