Spec-Zone.ru › Kotlin 2

mapNotNull

kotlin-stdlib/kotlin.collections/mapNotNull

Начиная с Kotlin: 1.0

inline fun <T, R : Any> Array<out T>.mapNotNull(transform: (T) -> R?): List<R>

Возвращает список, содержащий только ненулевые результаты применения функции преобразования к каждому элементу исходного массива.

Примеры

import kotlin.math.*
import kotlin.test.*

fun main() { 
   //sampleStart 
   val strings: List<String> = listOf("12a", "45", "", "3")
val ints: List<Int> = strings.mapNotNull { it.toIntOrNull() }

println(ints) // [45, 3]
println(ints.sum()) // 48 
   //sampleEnd
}

inline fun <T, R : Any> Iterable<T>.mapNotNull(transform: (T) -> R?): List<R>

Возвращает список, содержащий только ненулевые результаты применения функции преобразования к каждому элементу исходной коллекции.

Примеры

import kotlin.math.*
import kotlin.test.*

fun main() { 
   //sampleStart 
   val strings: List<String> = listOf("12a", "45", "", "3")
val ints: List<Int> = strings.mapNotNull { it.toIntOrNull() }

println(ints) // [45, 3]
println(ints.sum()) // 48 
   //sampleEnd
}

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

Возвращает список, содержащий только ненулевые результаты применения функции преобразования к каждой записи исходной карты.

Примеры

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

fun main() { 
   //sampleStart 
   val map = mapOf("Alice" to 20, "Tom" to 13, "Bob" to 18)
val adults = map.mapNotNull { [name, age] -> name.takeIf { age >= 18 } }

println(adults) // [Alice, Bob] 
   //sampleEnd
}

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/map-not-null.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API