Метод iter
Метод iter возвращает итератор, который позволяет перебрать все элементы множества HashSet. Параметров метод не принимает. Итератор возвращает ссылки на элементы множества в произвольном порядке, так как HashSet не гарантирует порядок хранения элементов.
Синтаксис
hashset.iter()
Пример
Давайте создадим множество и переберём все его элементы с помощью метода iter:
use std::collections::HashSet;
fn main()
{
let mut set = HashSet::new();
set.insert("abcde");
set.insert("12345");
for item in set.iter() {
println!("{}", item);
}
}
Результат выполнения кода (порядок может отличаться):
"abcde"
"12345"
Пример
Давайте соберём все элементы множества в вектор с помощью метода iter и метода collect:
use std::collections::HashSet;
fn main()
{
let mut set = HashSet::new();
set.insert(1);
set.insert(2);
set.insert(3);
let res: Vec<&i32> = set.iter().collect();
println!("{:?}", res);
}
Результат выполнения кода (порядок может отличаться):
[1, 2, 3]
Пример
Давайте переберём элементы множества и посчитаем их количество с помощью метода iter:
use std::collections::HashSet;
fn main()
{
let mut set = HashSet::new();
set.insert("a");
set.insert("b");
set.insert("c");
let mut count = 0;
for _ in set.iter() {
count += 1;
}
println!("{}", count);
}
Результат выполнения кода:
3