Функция listOfNotNull
Функция listOfNotNull создает новый неизменяемый список
типа List, содержащий только те элементы из переданных
аргументов, которые не равны null. Все null значения
автоматически фильтруются и не включаются в результирующий список.
Импорт
import kotlin.collections.listOfNotNull
Синтаксис
fun <T : Any> listOfNotNull(element: T?): List<T>
fun <T : Any> listOfNotNull(
vararg elements: T?
): List<T>
Пример
Создадим список из одного элемента, если он не null:
val element: String? = "abcde"
val res: List<String> = listOfNotNull(element)
println(res)
Результат выполнения кода:
List<String> ["abcde"]
Пример
Создадим список из одного элемента, который равен null:
val element: String? = null
val res: List<String> = listOfNotNull(element)
println(res)
Результат выполнения кода:
List<String> []
Пример
Создадим список из нескольких элементов, включая null значения:
val res: List<String> = listOfNotNull(
"abcde", null, "12345", null, "test"
)
println(res)
Результат выполнения кода:
List<String> ["abcde", "12345", "test"]
Пример
Создадим список чисел, исключая null значения:
val num1: Int? = 10
val num2: Int? = null
val num3: Int? = 30
val num4: Int? = null
val num5: Int? = 50
val res: List<Int> = listOfNotNull(
num1, num2, num3, num4, num5
)
println(res)
Результат выполнения кода:
List<Int> [10, 30, 50]
Пример
Функция listOfNotNull возвращает неизменяемый список.
Для создания изменяемого списка с фильтрацией null значений
можно использовать filterNotNull вместе с mutableListOf:
val elements = mutableListOf("a", null, "b", null, "c")
val filteredList = elements.filterNotNull()
println(filteredList)
Результат выполнения кода:
List<String> ["a", "b", "c"]
Смотрите также
-
функцию
listOf,
которая создает список включаяnullзначения -
функцию
emptyList,
которая создает пустой неизменяемый список -
функцию
mutableListOf,
которая создает изменяемый список -
функцию
arrayListOf,
которая создает список на основе ArrayList