Kotlin 数组 - map() 函数



Kotlin 数组的 map() 函数用于创建一个列表,该列表包含将转换函数应用于原始数组的每个元素的结果元素。转换后,此函数返回创建的包含所有与转换函数匹配的元素的列表。

语法

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

fun <T, R> Array<out T>.map(
    transform: (T) -> R
): List<R>

参数

此函数接受一个transform 函数作为参数,该函数表示我们应用于每个元素的条件。

返回值

此函数返回一个列表。

示例 1

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

fun main(args: Array<String>) {
   val numbers = arrayOf(2, 4, 6)
   //squaring of the elements of list
   println("transformed list:  ${numbers.map { it * it }}")
}

输出

以下是输出:

transformed list:  [4, 16, 36]

示例 2

现在,让我们创建一个另一个示例。在这里,我们创建了一个名称和年龄的映射对。然后我们使用map()函数显示带有年龄和值的名称:

fun main(args: Array<String>) {
   //declaring the map pair.
   val peopleToAge = mapOf("Aman" to 23, "Vivek" to 24)
   //printing the name with age.
   println(peopleToAge.map { (name, age) -> "$name is $age years old" })
   println(peopleToAge.map { it.value })
}

输出

以下是输出:

[Aman is 23 years old, Vivek is 24 years old]
[23, 24]

示例 3

下面的示例创建一个数组,并使用map函数将数组转换为包含布尔值的列表:

fun main(args: Array<String>) {
   val array = arrayOf(1, 2, 3, 4, 5)
   val list = array.map({it%2==0})
   
   println("True if array elements satisfy transform function, otherwise, false")
   println("list: $list")
}

输出

以下是输出:

True if array elements satisfy transform function, otherwise, false
list: [false, true, false, true, false]
kotlin_arrays.htm
广告