Функция listOfNotNull

Функция listOfNotNull создает новый неизменяемый список типа List<T>, содержащий только те элементы из переданных аргументов, которые не равны null. Все null значения автоматически фильтруются и не включаются в результирующий список.

Импорт

kotlinimport kotlin.collections.listOfNotNull

Синтаксис

kotlinfun <T : Any> listOfNotNull(element: T?): List<T>
kotlinfun <T : Any> listOfNotNull(
  vararg elements: T?
): List<T>

Пример

Создадим список из одного элемента, если он не null:

kotlinval element: String? = "abcde"
val res: List<String> = listOfNotNull(element)
println(res)

Результат выполнения кода:

kotlinList<String> ["abcde"]

Пример

Создадим список из одного элемента, который равен null:

kotlinval element: String? = null
val res: List<String> = listOfNotNull(element)
println(res)

Результат выполнения кода:

kotlinList<String> []

Пример

Создадим список из нескольких элементов, включая null значения:

kotlinval res: List<String> = listOfNotNull(
  "abcde", null, "12345", null, "test"
)
println(res)

Результат выполнения кода:

kotlinList<String> ["abcde", "12345", "test"]

Пример

Создадим список чисел, исключая null значения:

kotlinval 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)

Результат выполнения кода:

kotlinList<Int> [10, 30, 50]

Пример

Функция listOfNotNull возвращает неизменяемый список. Для создания изменяемого списка с фильтрацией null значений можно использовать filterNotNull вместе с mutableListOf:

kotlinval elements = mutableListOf("a", null, "b", null, "c")
val filteredList = elements.filterNotNull()
println(filteredList)

Результат выполнения кода:

kotlinList<String> ["a", "b", "c"]

Смотрите также

  • функцию listOf,
    которая создает список включая null значения
  • функцию emptyList,
    которая создает пустой неизменяемый список
  • функцию mutableListOf,
    которая создает изменяемый список
  • функцию arrayListOf,
    которая создает список на основе ArrayList