Функция removeAll

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

Синтаксис

kotlinfun <T> MutableCollection<T>.removeAll(elements: Collection<T>): Boolean
kotlinfun <K, V> MutableMap<K, V>.removeAll(keys: Collection<K>): Boolean

Пример

Удалим из MutableList все элементы, которые присутствуют в другой коллекции:

kotlinval numbers = mutableListOf(1, 2, 3, 4, 5, 6, 7)
val toRemove = listOf(2, 4, 6)
val res = numbers.removeAll(toRemove)

println(numbers)
println("Collection modified: $res")

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

kotlin[1, 3, 5, 7]
Boolean true

Пример

Удалим из MutableSet все элементы, которые присутствуют в другой коллекции:

kotlinval chars = mutableSetOf('a', 'b', 'c', 'd', 'e')
val toRemove = setOf('b', 'd', 'f')
val res = chars.removeAll(toRemove)

println(chars)
println("Collection modified: $res")

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

kotlin['a', 'c', 'e']
Boolean true

Пример

Удалим из MutableMap все элементы с указанными ключами:

kotlinval map = mutableMapOf(1 to "one", 2 to "two", 3 to "three", 4 to "four")
val keysToRemove = listOf(2, 4)
val res = map.removeAll(keysToRemove)

println(map)
println("Collection modified: $res")

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

kotlin{1=one, 3=three}
Boolean true

Пример

Если ни один элемент не был удален, функция возвращает false:

kotlinval numbers = mutableListOf(1, 2, 3)
val toRemove = listOf(4, 5)
val res = numbers.removeAll(toRemove)

println(numbers)
println("Collection modified: $res")

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

kotlin[1, 2, 3]
Boolean false

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

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

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

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