Множество строк в Rust
Строковые фразы в множестве сравниваются целиком,
а не по частям. Текст "go" и текст
"golang" это разные элементы, даже если
одна фраза начинается с другой. Регистр букв
учитывается: "Go" и "go" не сливаются.
Запишем три фразы и проверим длину:
use std::collections::HashSet;
fn main() {
let mut set = HashSet::new();
set.insert("ann".to_string());
set.insert("bob".to_string());
set.insert("ann".to_string());
println!("{}", set.len());
}
Длина 2. Повтор "ann" не добавил
третий элемент. Для проверки подстроки нужны
другие приемы, здесь важен полный текст значения.
Пустая фраза тоже может быть элементом, если ее записать в набор:
use std::collections::HashSet;
fn main() {
let mut set = HashSet::new();
set.insert("".to_string());
println!("{}", set.contains(&"".to_string()));
}
Дано множество:
let mut set = HashSet::new();
Добавьте "red" и "blue" дважды
каждый. Выведите длину.
Даны переменные:
let a = "go";
let b = "Go";
let mut set = HashSet::new();
Запишите a и b в набор и выведите
длину set.
Скажите, сколько элементов будет, если
положить "cat" и "cats".