Функция removeIf
Функция removeIf удаляет все элементы коллекции,
которые удовлетворяют заданному предикату (условию).
Функция доступна для изменяемых коллекций MutableList,
MutableSet и других. Возвращает true,
если хотя бы один элемент был удален.
Синтаксис
fun removeIf(predicate: (T) -> Boolean): Boolean
Пример
Удалим все четные числа из списка:
val 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")
Результат выполнения кода:
Elements removed: true
List after removal: [1, 3, 5, 7, 9]
Пример
Удалим все строки, начинающиеся на букву 'a':
val words = mutableListOf("apple", "banana", "avocado", "cherry", "apricot")
val res = words.removeIf { it.startsWith('a') }
println("Elements removed: $res")
println("List after removal: $words")
Результат выполнения кода:
Elements removed: true
List after removal: [banana, cherry]
Пример
Попробуем удалить элементы из пустого списка:
val emptyList = mutableListOf<Int>()
val res = emptyList.removeIf { it > 10 }
println("Elements removed: $res")
println("List after removal: $emptyList")
Результат выполнения кода:
Elements removed: false
List after removal: []
Пример
Удалим все элементы больше 5 из множества:
val 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")
Результат выполнения кода:
Elements removed: true
Set after removal: [1, 2, 3, 4, 5]
Смотрите также
-
функцию
remove,
которая удаляет конкретный элемент по значению -
функцию
removeAll,
которая удаляет все элементы, содержащиеся в другой коллекции -
функцию
filter,
которая возвращает новую коллекцию с отфильтрованными элементами -
функцию
retainAll,
которая оставляет только элементы, содержащиеся в другой коллекции