АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
474 of 1310 menu
Бесплатный курс по выкладке сайтов на хостинг. Разбираем все нюансы! Начало 14 октября. Жми для записи!

Функция subtract

Функция subtract возвращает новую коллекцию, содержащую элементы из исходной коллекции, которые отсутствуют в указанной коллекции для вычитания. Функция применяется к коллекциям типа Iterable, Array, List, Set и другим. Для Map функция subtract недоступна.

Синтаксис

infix fun <T> Iterable<T>.subtract(other: Iterable<T>): Set<T>
fun <T> Iterable<T>.subtract(other: Iterable<T>): Set<T>
fun <T> Array<out T>.subtract(other: Iterable<T>): Set<T>

Пример

Вычтем из списка чисел другой список:

val numbers1 = listOf(1, 2, 3, 4, 5) val numbers2 = listOf(3, 4, 5, 6, 7) val res = numbers1.subtract(numbers2) println(res)

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

Set<Int> [1, 2]

Пример

Использование инфиксной нотации:

val set1 = setOf('a', 'b', 'c', 'd') val set2 = setOf('c', 'd', 'e', 'f') val res = set1 subtract set2 println(res)

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

Set<Char> ['a', 'b']

Пример

Вычитание из массива:

val array = arrayOf(10, 20, 30, 40, 50) val toRemove = listOf(20, 40, 60) val res = array.subtract(toRemove) println(res)

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

Set<Int> [10, 30, 50]

Пример

Если все элементы исходной коллекции содержатся в коллекции для вычитания, результат будет пустым множеством:

val list1 = listOf(1, 2, 3) val list2 = listOf(1, 2, 3, 4, 5) val res = list1.subtract(list2) println(res)

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

Set<Int> []

Примечания

Функция subtract всегда возвращает результат типа Set, даже если исходная коллекция была другого типа. Порядок элементов в результате не гарантируется. Для сохранения порядка используйте filter с !in.

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

  • функцию minus,
    которая также выполняет вычитание коллекций
  • функцию intersect,
    которая находит пересечение коллекций
  • функцию union,
    которая объединяет коллекции
  • функцию filter,
    которая фильтрует элементы по условию