Метод values
Метод values возвращает итератор, который
позволяет перебрать все значения, хранящиеся в
хеш-таблице HashMap. Метод не принимает
параметров и возвращает объект типа
Values, который реализует трейт
Iterator. Порядок обхода значений не
гарантирован и может меняться между вызовами.
Синтаксис
hashmap.values()
Пример
Давайте создадим хеш-таблицу и переберём
все её значения с помощью метода values:
use std::collections::HashMap;
fn main()
{
let mut map = HashMap::new();
map.insert("a", 1);
map.insert("b", 2);
map.insert("c", 3);
for value in map.values() {
println!("{}", value);
}
}
Результат выполнения кода:
1
2
3
Пример
Давайте соберём все значения в вектор
с помощью метода collect:
use std::collections::HashMap;
fn main()
{
let mut map = HashMap::new();
map.insert("a", 10);
map.insert("b", 20);
map.insert("c", 30);
let res: Vec<&i32> = map.values().collect();
println!("{:?}", res);
}
Результат выполнения кода:
[10, 20, 30]
Пример
Давайте найдём сумму всех значений с
помощью метода sum:
use std::collections::HashMap;
fn main()
{
let mut map = HashMap::new();
map.insert("a", 1);
map.insert("b", 2);
map.insert("c", 3);
let res: i32 = map.values().sum();
println!("{}", res);
}
Результат выполнения кода:
6
Смотрите также
-
метод
keys,
который возвращает итератор по всем ключам -
метод
values_mut,
который возвращает изменяемый итератор по значениям -
метод
iter,
который возвращает итератор по парам ключ-значение -
метод
get,
который возвращает значение по указанному ключу