НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
474 of 1310 menu

Функция 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,
    которая фильтрует элементы по условию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить