Kotlin: исключить нули из списка (или другое функциональное преобразование)

1 ответов


можно использовать filterNotNull

вот простой пример:

val a: List<Int?> = listOf(1, 2, 3, null)
val b: List<Int> = a.filterNotNull()

но под капотом stdlib делает то же самое, что вы написали

/**
 * Appends all elements that are not `null` to the given [destination].
 */
public fun <C : MutableCollection<in T>, T : Any> Iterable<T?>.filterNotNullTo(destination: C): C {
    for (element in this) if (element != null) destination.add(element)
    return destination
}