Метод get_mut
Метод get_mut возвращает изменяемую ссылку
на значение, связанное с указанным ключом в
HashMap. Он возвращает Some(&mut V),
если ключ присутствует в коллекции, и
None в противном случае. Параметром
метод принимает ссылку на ключ, значение
которого нужно получить для изменения.
Синтаксис
hashmap.get_mut(&key)
Пример
Давайте получим изменяемую ссылку на значение
по ключу "a" и изменим его:
use std::collections::HashMap;
fn main()
{
let mut map = HashMap::new();
map.insert("a", 1);
map.insert("b", 2);
if let Some(value) = map.get_mut(&"a")
{
*value = 100;
}
println!("{:?}", map);
}
Результат выполнения кода:
{"a": 100, "b": 2}
Пример
Давайте попробуем получить изменяемую ссылку
по ключу "c", которого нет в HashMap:
use std::collections::HashMap;
fn main()
{
let mut map = HashMap::new();
map.insert("a", 1);
map.insert("b", 2);
let res = map.get_mut(&"c");
println!("{:?}", res);
}
Результат выполнения кода:
None
Пример
Давайте увеличим значение по ключу "a"
на 10, используя метод get_mut:
use std::collections::HashMap;
fn main()
{
let mut map = HashMap::new();
map.insert("a", 5);
map.insert("b", 10);
if let Some(value) = map.get_mut(&"a")
{
*value += 10;
}
println!("{:?}", map);
}
Результат выполнения кода:
{"a": 15, "b": 10}
Смотрите также
-
метод
get,
который возвращает ссылку на значение по ключу -
метод
insert,
который вставляет пару ключ-значение в HashMap -
метод
contains_key,
который проверяет наличие ключа в HashMap -
метод
remove,
который удаляет пару ключ-значение из HashMap