Функция minus

Функция minus создает новую коллекцию, которая содержит все элементы исходной коллекции, за исключением указанных элементов. Функция доступна для массивов, списков, множеств и других коллекций. В первый параметр передается исходная коллекция, во второй параметр передаются элементы для удаления.

Импорт

kotlinimport kotlin.collections.minus

Синтаксис

kotlin// Для 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>
kotlin// Для 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>
kotlin// Для 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>
kotlin// Для 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>

Пример

Удаление элемента из массива:

kotlinval arr = arrayOf(1, 2, 3, 4, 5)
val res = arr.minus(3)
println(res.contentToString())

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

kotlinArray<Int> [1, 2, 4, 5]

Пример

Удаление нескольких элементов из списка:

kotlinval list = listOf('a', 'b', 'c', 'd', 'e')
val toRemove = listOf('b', 'd')
val res = list.minus(toRemove)
println(res)

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

kotlinList<Char> ['a', 'c', 'e']

Пример

Удаление элемента из множества:

kotlinval set = setOf(10, 20, 30, 40, 50)
val res = set.minus(20)
println(res)

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

kotlinSet<Int> [10, 30, 40, 50]

Пример

Удаление записи из словаря по ключу:

kotlinval map = mapOf("a" to 1, "b" to 2, "c" to 3)
val res = map.minus("b")
println(res)

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

kotlinMap<String, Int> {a=1, c=3}

Пример

Удаление нескольких ключей из словаря:

kotlinval 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)

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

kotlinMap<Int, String> {1=one, 3=three}

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

  • функцию plus,
    которая добавляет элементы в коллекцию
  • функцию filter,
    которая фильтрует элементы по условию
  • функцию distinct,
    которая удаляет дубликаты из коллекции
  • функцию removeAll,
    которая удаляет элементы из изменяемой коллекции