zip
infix fun <T, R> Sequence<T>.zip( other: Sequence<R> ): Sequence<Pair<T, R>>
Возвращает последовательность значений, построенных из элементов this последовательности и последовательности other с тем же индексом. Результирующая последовательность завершается, как только заканчивается самая короткая из входных последовательностей.
Операция является промежуточной и бессостоятельной.
import kotlin.test.*
fun main(args: Array<String>) {
//sampleStart
val sequenceA = ('a'..'z').asSequence()
val sequenceB = generateSequence(1) { it * 2 + 1 }
println((sequenceA zip sequenceB).take(4).toList()) // [(a, 1), (b, 3), (c, 7), (d, 15)]
//sampleEnd
}fun <T, R, V> Sequence<T>.zip( other: Sequence<R>, transform: (a: T, b: R) -> V ): Sequence<V>
Возвращает последовательность значений, построенных из элементов this последовательности и последовательности other с тем же индексом с помощью предоставленной функции трансформации transform, применённой к каждой паре элементов. Результирующая последовательность завершается, как только заканчивается самая короткая из входных последовательностей.
Операция является промежуточной и бессостоятельной.
import kotlin.test.*
fun main(args: Array<String>) {
//sampleStart
val sequenceA = ('a'..'z').asSequence()
val sequenceB = generateSequence(1) { it * 2 + 1 }
val result = sequenceA.zip(sequenceB) { a, b -> "$a/$b" }
println(result.take(4).toList()) // [a/1, b/3, c/7, d/15]
//sampleEnd
}
© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/zip.html