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

Функция filterNot

Функция filterNot возвращает новую коллекцию, содержащую только те элементы исходной коллекции, которые не удовлетворяют заданному условию (предикату). Функция принимает в качестве параметра лямбда-выражение с условием фильтрации и возвращает отфильтрованную коллекцию.

Синтаксис

// Для Iterable, Collection, List, Set inline fun <T> Iterable<T>.filterNot( predicate: (T) -> Boolean ): List<T>
// Для Array inline fun <T> Array<out T>.filterNot( predicate: (T) -> Boolean ): List<T>
// Для Map inline fun <K, V> Map<out K, V>.filterNot( predicate: (Entry<K, V>) -> Boolean ): Map<K, V>

Для каких типов коллекций работает

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

  • Array - массивы
  • List - списки
  • Set - множества
  • Map - словари
  • Iterable - любые итерируемые коллекции
  • Collection - базовые коллекции

Пример

Отфильтруем массив чисел, оставив только нечетные числа:

val numbers = arrayOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) val res = numbers.filterNot { it % 2 == 0 } println(res)

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

List<Int> [1, 3, 5, 7, 9]

Пример

Отфильтруем список строк, оставив только строки длиной больше 3 символов:

val strings = listOf("a", "ab", "abc", "abcd", "abcde") val res = strings.filterNot { it.length <= 3 } println(res)

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

List<String> ["abcd", "abcde"]

Пример

Отфильтруем словарь, оставив только записи со значениями меньше 100:

val map = mapOf("a" to 50, "b" to 150, "c" to 75, "d" to 200) val res = map.filterNot { it.value < 100 } println(res)

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

Map<String, Int> {b=150, d=200}

Пример

Использование filterNot с множеством:

val set = setOf(10, 20, 30, 40, 50) val res = set.filterNot { it > 25 } println(res)

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

List<Int> [10, 20]

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

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