НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
400 of 1310 menu

Функция filterNotNull

Функция filterNotNull выполняет фильтрацию коллекции, удаляя все элементы со значением null и возвращая коллекцию только с ненулевыми элементами. Функция работает с коллекциями, содержащими nullable-типы, и возвращает коллекцию с non-null типом элементов.

Импорт

import kotlin.collections.filterNotNull

Синтаксис

// Для Iterable inline fun <T : Any> Iterable<T?>.filterNotNull(): List<T>
// Для Array inline fun <T : Any> Array<out T?>.filterNotNull(): List<T>
// Для Map inline fun <K, V : Any> Map<out K, V?>.filterNotNullValues(): Map<K, V>

Поддерживаемые типы коллекций

Функция filterNotNull доступна для следующих типов коллекций:

  • Iterable (List, Set)
  • Array
  • Sequence

Для Map доступна отдельная функция filterNotNullValues, которая фильтрует значения, а ключи остаются без изменений.

Пример

Отфильтруем null-значения из списка строк:

val list: List<String?> = listOf("a", null, "b", null, "c") val res: List<String> = list.filterNotNull() println(res)

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

List<String> ['a', 'b', 'c']

Пример

Отфильтруем null-значения из массива чисел:

val array: Array<Int?> = arrayOf(1, null, 2, null, 3) val res: List<Int> = array.filterNotNull() println(res)

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

List<Int> [1, 2, 3]

Пример

Использование filterNotNull с Sequence:

val sequence: Sequence<String?> = sequenceOf("x", null, "y", null, "z") val res: List<String> = sequence.filterNotNull().toList() println(res)

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

List<String> ['x', 'y', 'z']

Пример

Фильтрация null-значений в Map с помощью filterNotNullValues:

val map: Map<String, Int?> = mapOf("a" to 1, "b" to null, "c" to 3) val res: Map<String, Int> = map.filterNotNullValues() println(res)

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

Map<String, Int> {a=1, c=3}

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

  • функцию filter,
    которая выполняет фильтрацию по пользовательскому условию
  • функцию filterNot,
    которая выполняет обратную фильтрацию
  • функцию filterIsInstance,
    которая фильтрует элементы по типу
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить