在 Kotlin 中,mapTo 是一种用于将集合中的元素转换成另一个集合的函数。它可以将一个集合的元素映射到另一个集合,并将结果添加到目标集合中。
mapTo 的语法如下:
fun <T, R, C : MutableCollection<in R>> Iterable<T>.mapTo(destination: C, transform: (T) -> R): C其中:
-
T是源集合中元素的类型。 -
R是目标集合中元素的类型。 -
C是目标集合的类型,必须是可变的(即可添加元素)。 -
destination是目标集合。 -
transform是用于将源集合元素转换为目标集合元素的函数。
下面是一个示例,展示如何使用 mapTo 将一个 List 中的元素转换为另一个 List 中的元素:
val numbers = listOf(1, 2, 3, 4, 5)
val squaredNumbers = mutableListOf<Int>()
numbers.mapTo(squaredNumbers) { it * it }
println(squaredNumbers) // 输出 [1, 4, 9, 16, 25]在这个示例中,numbers 是一个包含整数的不可变列表。我们创建了一个可变列表 squaredNumbers,并使用 mapTo 将 numbers 中的元素转换为它们的平方,并将结果添加到 squaredNumbers 中。
mapTo 将每个元素传递给 transform 函数,该函数将它的平方计算并返回。这个结果被添加到 squaredNumbers 中。最后,squaredNumbers 包含的是 numbers 中每个元素的平方。










