map所在位置是kotlin.collections.map,其相关用法介绍如下。

用法一

inline fun <T, R> Array<out T>.map(
    transform: (T) -> R
): List<R>
inline fun <R> ByteArray.map(transform: (Byte) -> R): List<R>
inline fun <R> ShortArray.map(
    transform: (Short) -> R
): List<R>
inline fun <R> IntArray.map(transform: (Int) -> R): List<R>
inline fun <R> LongArray.map(transform: (Long) -> R): List<R>
inline fun <R> FloatArray.map(
    transform: (Float) -> R
): List<R>
inline fun <R> DoubleArray.map(
    transform: (Double) -> R
): List<R>
inline fun <R> BooleanArray.map(
    transform: (Boolean) -> R
): List<R>
inline fun <R> CharArray.map(transform: (Char) -> R): List<R>
@ExperimentalUnsignedTypes inline fun <R> UIntArray.map(
    transform: (UInt) -> R
): List<R>
@ExperimentalUnsignedTypes inline fun <R> ULongArray.map(
    transform: (ULong) -> R
): List<R>
@ExperimentalUnsignedTypes inline fun <R> UByteArray.map(
    transform: (UByte) -> R
): List<R>
@ExperimentalUnsignedTypes inline fun <R> UShortArray.map(
    transform: (UShort) -> R
): List<R>

返回一个列表,其中包含将给定 transform 函数应用于原始数组中的每个元素的结果。

例子:

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val numbers = listOf(1, 2, 3)
println(numbers.map { it * it }) // [1, 4, 9]
//sampleEnd
}

输出:

[1, 4, 9]

用法二

inline fun <T, R> Iterable<T>.map(
    transform: (T) -> R
): List<R>

返回一个列表,其中包含将给定 transform 函数应用于原始集合中的每个元素的结果。

例子:

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val numbers = listOf(1, 2, 3)
println(numbers.map { it * it }) // [1, 4, 9]
//sampleEnd
}

输出:

[1, 4, 9]

用法三

inline fun <K, V, R> Map<out K, V>.map(
    transform: (Entry<K, V>) -> R
): List<R>

返回一个列表,其中包含将给定 transform 函数应用于原始映射中的每个条目的结果。

例子:

import kotlin.test.*
import java.util.*

fun main(args: Array<String>) {
//sampleStart
val peopleToAge = mapOf("Alice" to 20, "Bob" to 21)
println(peopleToAge.map { (name, age) -> "$name is $age years old" }) // [Alice is 20 years old, Bob is 21 years old]
println(peopleToAge.map { it.value }) // [20, 21]
//sampleEnd
}

输出:

[Alice is 20 years old, Bob is 21 years old]
[20, 21]