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

Метод difference

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

Синтаксис

hashset.difference(&other)

Пример

Давайте найдём элементы, которые есть в первом множестве, но отсутствуют во втором:

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

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

{2, 1, 3}

Пример

Давайте выведем элементы разности в отсортированном виде для наглядности:

use std::collections::HashSet; fn main() { let a: HashSet<i32> = vec![1, 2, 3, 4, 5].into_iter().collect(); let b: HashSet<i32> = vec![4, 5, 6, 7, 8].into_iter().collect(); let mut res: Vec<i32> = a.difference(&b).cloned().collect(); res.sort(); println!("{:?}", res); }

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

[1, 2, 3]

Пример

Давайте проверим работу метода, когда все элементы первого множества присутствуют во втором:

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

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

{}

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

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