firstNotNullOfOrNull
Returns the first non-null value produced by transform function being applied to elements of this sequence in iteration order, or null if no non-null value was produced.
inline fun <T, R : Any> Sequence<T>.firstNotNullOfOrNull(transform: (T) -> R?): R?(source)
fun main() {
val numbers = sequenceOf(1, 2, 3, 4, 5)
val firstEvenSquare = numbers.firstNotNullOfOrNull { number ->
if (number % 2 == 0) number * number else null
}
println(firstEvenSquare) // prints: 4
}