Функция minus
Функция minus создает новую коллекцию,
которая содержит все элементы исходной коллекции,
за исключением указанных элементов. Функция доступна
для массивов, списков, множеств и других коллекций.
В первый параметр передается исходная коллекция,
во второй параметр передаются элементы для удаления.
Импорт
import kotlin.collections.minus
Синтаксис
// Для Array
operator fun <T> Array<out T>.minus(element: T): Array<T>
operator fun <T> Array<out T>.minus(elements: Collection<T>): Array<T>
operator fun <T> Array<out T>.minus(elements: Array<out T>): Array<T>
// Для List
operator fun <T> Iterable<T>.minus(element: T): List<T>
operator fun <T> Iterable<T>.minus(elements: Array<out T>): List<T>
operator fun <T> Iterable<T>.minus(elements: Iterable<T>): List<T>
operator fun <T> Iterable<T>.minus(elements: Sequence<T>): List<T>
// Для Set
operator fun <T> Set<T>.minus(element: T): Set<T>
operator fun <T> Set<T>.minus(elements: Array<out T>): Set<T>
operator fun <T> Set<T>.minus(elements: Iterable<T>): Set<T>
operator fun <T> Set<T>.minus(elements: Sequence<T>): Set<T>
// Для Map
operator fun <K, V> Map<out K, V>.minus(key: K): Map<K, V>
operator fun <K, V> Map<out K, V>.minus(keys: Iterable<K>): Map<K, V>
operator fun <K, V> Map<out K, V>.minus(keys: Array<out K>): Map<K, V>
operator fun <K, V> Map<out K, V>.minus(keys: Sequence<K>): Map<K, V>
Пример
Удаление элемента из массива:
val arr = arrayOf(1, 2, 3, 4, 5)
val res = arr.minus(3)
println(res.contentToString())
Результат выполнения кода:
Array<Int> [1, 2, 4, 5]
Пример
Удаление нескольких элементов из списка:
val list = listOf('a', 'b', 'c', 'd', 'e')
val toRemove = listOf('b', 'd')
val res = list.minus(toRemove)
println(res)
Результат выполнения кода:
List<Char> ['a', 'c', 'e']
Пример
Удаление элемента из множества:
val set = setOf(10, 20, 30, 40, 50)
val res = set.minus(20)
println(res)
Результат выполнения кода:
Set<Int> [10, 30, 40, 50]
Пример
Удаление записи из словаря по ключу:
val map = mapOf("a" to 1, "b" to 2, "c" to 3)
val res = map.minus("b")
println(res)
Результат выполнения кода:
Map<String, Int> {a=1, c=3}
Пример
Удаление нескольких ключей из словаря:
val map = mapOf(1 to "one", 2 to "two", 3 to "three", 4 to "four")
val keysToRemove = arrayOf(2, 4)
val res = map.minus(keysToRemove)
println(res)
Результат выполнения кода:
Map<Int, String> {1=one, 3=three}