Функция removeAll
Функция removeAll
удаляет все элементы коллекции,
которые присутствуют в указанной коллекции-аргументе.
Функция работает с изменяемыми коллекциями типа MutableCollection
,
MutableList
, MutableSet
и другими.
Возвращает true
, если коллекция была изменена.
Синтаксис
fun <T> MutableCollection<T>.removeAll(elements: Collection<T>): Boolean
fun <K, V> MutableMap<K, V>.removeAll(keys: Collection<K>): Boolean
Пример
Удалим из MutableList
все элементы,
которые присутствуют в другой коллекции:
val 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")
Результат выполнения кода:
[1, 3, 5, 7]
Boolean true
Пример
Удалим из MutableSet
все элементы,
которые присутствуют в другой коллекции:
val chars = mutableSetOf('a', 'b', 'c', 'd', 'e')
val toRemove = setOf('b', 'd', 'f')
val res = chars.removeAll(toRemove)
println(chars)
println("Collection modified: $res")
Результат выполнения кода:
['a', 'c', 'e']
Boolean true
Пример
Удалим из MutableMap
все элементы
с указанными ключами:
val 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")
Результат выполнения кода:
{1=one, 3=three}
Boolean true
Пример
Если ни один элемент не был удален,
функция возвращает false
:
val numbers = mutableListOf(1, 2, 3)
val toRemove = listOf(4, 5)
val res = numbers.removeAll(toRemove)
println(numbers)
println("Collection modified: $res")
Результат выполнения кода:
[1, 2, 3]
Boolean false
Для каких типов коллекций работает
Функция removeAll
доступна для следующих типов коллекций:
MutableCollection
MutableList
MutableSet
MutableMap
ArrayList
LinkedList
HashSet
LinkedHashSet
HashMap
LinkedHashMap