РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
721 of 1245 menu

Метод symmetric_difference

Метод symmetric_difference возвращает симметричную разность двух множеств. Он создаёт итератор, который выдаёт элементы, присутствующие ровно в одном из двух множеств, но не в обоих одновременно. Параметром метод принимает ссылку на другое множество HashSet, с которым нужно вычислить симметричную разность.

Синтаксис

hashset.symmetric_difference(&other)

Пример

Давайте найдём симметричную разность двух множеств:

use std::collections::HashSet; fn main() { let set1: HashSet<i32> = vec![1, 2, 3, 4, 5].into_iter().collect(); let set2: HashSet<i32> = vec![3, 4, 5, 6, 7].into_iter().collect(); let res: HashSet<&i32> = set1.symmetric_difference(&set2).collect(); println!("{:?}", res); }

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

{1, 2, 6, 7}

Пример

Давайте найдём симметричную разность множества с самим собой:

use std::collections::HashSet; fn main() { let set1: HashSet<i32> = vec![1, 2, 3, 4, 5].into_iter().collect(); let res: HashSet<&i32> = set1.symmetric_difference(&set1).collect(); println!("{:?}", res); }

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

{}

Пример

Давайте найдём симметричную разность двух непересекающихся множеств:

use std::collections::HashSet; fn main() { let set1: HashSet<&str> = vec!["a", "b", "c"].into_iter().collect(); let set2: HashSet<&str> = vec!["d", "e"].into_iter().collect(); let res: HashSet<&&str> = set1.symmetric_difference(&set2).collect(); println!("{:?}", res); }

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

{"a", "b", "c", "d", "e"}

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

  • метод union,
    который возвращает объединение двух множеств
  • метод intersection,
    который возвращает пересечение двух множеств
  • метод difference,
    который возвращает разность двух множеств
  • метод contains,
    который проверяет наличие элемента в множестве
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить