Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsPmSeIt 202 of 373 menu
◀ ▶

Пересечение множеств в Rust

Пересечение оставляет только общие значения. Команда возвращает итератор по элементам, которые есть в обоих наборах. Перебор идет циклом, как при объединении.

Найдем общие строки двух наборов:

use std::collections::HashSet; fn main() { let mut a = HashSet::new(); a.insert("a".to_string()); a.insert("b".to_string()); a.insert("c".to_string()); let mut b = HashSet::new(); b.insert("b".to_string()); b.insert("c".to_string()); b.insert("d".to_string()); let mut count = 0; for n in a.intersection(&b) { println!("{}", n); count += 1; } println!("{}", count); }

На экране два текста "b" и "c", затем число 2. Ключи только из одного набора в результат не попали.

Если одно множество пустое, пересечение тоже пустое:

use std::collections::HashSet; fn main() { let mut a = HashSet::new(); a.insert(1); a.insert(2); let b = HashSet::new(); let mut count = 0; for _ in a.intersection(&b) { count += 1; } println!("{}", count); }

Даны переменные:

let mut a = HashSet::new(); a.insert("go".to_string()); a.insert("rust".to_string()); let mut b = HashSet::new(); b.insert("go".to_string()); b.insert("c".to_string());

Переберите общие значения и выведите длину пересечения через счетчик.

Даны переменные:

let mut a = HashSet::new(); a.insert(1); a.insert(2); let mut b = HashSet::new(); b.insert(3); b.insert(4);

Соберите пересечение и выведите число элементов.

Скажите, меняется ли результат, если поменять местами два набора при том же пересечении.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить