Метод values_mut
Метод values_mut возвращает изменяемый итератор,
который позволяет перебирать все значения в
HashMap и изменять их. В отличие от метода
values, который даёт доступ только для чтения,
values_mut возвращает изменяемые ссылки,
что позволяет напрямую модифицировать значения
без повторной вставки по ключу. Метод не принимает
параметров и возвращает итератор типа
ValuesMut.
Синтаксис
hashmap.values_mut()
Пример
Давайте создадим HashMap и увеличим
каждое его значение на 10, используя
метод values_mut:
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_mut() {
*value += 10;
}
println!("{:?}", map);
}
Результат выполнения кода:
{"a": 11, "b": 12, "c": 13}
Пример
Давайте умножим каждое значение HashMap
на 2 с помощью метода values_mut:
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_mut() {
*value *= 2;
}
println!("{:?}", map);
}
Результат выполнения кода:
{"a": 2, "b": 4, "c": 6}