Перебор множества в Rust
Цикл идет по значениям, порядок не обещан. На каждом круге имя в заголовке цикла получает очередной элемент набора. Обход по ссылке не забирает множество, его можно использовать после цикла.
Напечатаем значения небольшого набора:
use std::collections::HashSet;
fn main() {
let mut set = HashSet::new();
set.insert("ann".to_string());
set.insert("bob".to_string());
set.insert("cy".to_string());
for name in &set {
println!("{}", name);
}
}
На экране три строки с именами. При повторном запуске порядок строк может отличаться, это нормально для множества.
Тот же цикл подходит для целых:
use std::collections::HashSet;
fn main() {
let mut set = HashSet::new();
set.insert(1);
set.insert(2);
for id in &set {
println!("{}", id);
}
}
Дано множество:
let mut set = HashSet::new();
set.insert("a".to_string());
set.insert("b".to_string());
set.insert("c".to_string());
Переберите set и выведите каждое
значение по одному на строку.
Даны переменные:
let mut set = HashSet::new();
Обойдите set циклом и скажите, сколько
строк выведется.
Скажите, можно ли по порядку строк на экране восстановить порядок дописки значений.