Множество чисел в Rust
Целые числа кладут в множество так же, как в вектор: каждое значение сравнивается по правилам типа. Повтор того же числа не увеличивает длину. Отрицательные значения и ноль тоже подходят, если они нужны в наборе.
Запишем несколько целых, включая повтор:
use std::collections::HashSet;
fn main() {
let mut set = HashSet::new();
set.insert(3);
set.insert(7);
set.insert(3);
println!("{}", set.len());
}
Длина 2: 3 и 7. Сравнение
идет по значению числа, как при равенстве двух
переменных типа i32.
Проверим ноль и отрицательное число:
use std::collections::HashSet;
fn main() {
let mut set = HashSet::new();
set.insert(0);
set.insert(-1);
println!("{}", set.contains(&-1));
}
Дано множество:
let mut set = HashSet::new();
Добавьте 1, 2 и снова 1.
Выведите длину.
Дан вектор:
let vals = vec![5, 5, 9];
Перенесите элементы в set циклом и
выведите длину set.
Есть ли 0 в пустом наборе целых?
Ответьте без запуска, опираясь на смысл
пустого множества.