Функция removeIf

Функция removeIf удаляет все элементы коллекции, которые удовлетворяют заданному предикату (условию). Функция доступна для изменяемых коллекций MutableList, MutableSet и других. Возвращает true, если хотя бы один элемент был удален.

Синтаксис

kotlinfun removeIf(predicate: (T) -> Boolean): Boolean

Пример

Удалим все четные числа из списка:

kotlinval numbers = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
val res = numbers.removeIf { it % 2 == 0 }

println("Elements removed: $res")
println("List after removal: $numbers")

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

kotlinElements removed: true
List after removal: [1, 3, 5, 7, 9]

Пример

Удалим все строки, начинающиеся на букву 'a':

kotlinval words = mutableListOf("apple", "banana", "avocado", "cherry", "apricot")
val res = words.removeIf { it.startsWith('a') }

println("Elements removed: $res")
println("List after removal: $words")

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

kotlinElements removed: true
List after removal: [banana, cherry]

Пример

Попробуем удалить элементы из пустого списка:

kotlinval emptyList = mutableListOf<Int>()
val res = emptyList.removeIf { it > 10 }

println("Elements removed: $res")
println("List after removal: $emptyList")

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

kotlinElements removed: false
List after removal: []

Пример

Удалим все элементы больше 5 из множества:

kotlinval numbersSet = mutableSetOf(1, 3, 5, 7, 9, 2, 4, 6, 8)
val res = numbersSet.removeIf { it > 5 }

println("Elements removed: $res")
println("Set after removal: $numbersSet")

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

kotlinElements removed: true
Set after removal: [1, 2, 3, 4, 5]

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

  • функцию remove,
    которая удаляет конкретный элемент по значению
  • функцию removeAll,
    которая удаляет все элементы, содержащиеся в другой коллекции
  • функцию filter,
    которая возвращает новую коллекцию с отфильтрованными элементами
  • функцию retainAll,
    которая оставляет только элементы, содержащиеся в другой коллекции