Метод remove
Метод remove удаляет пару ключ-значение
из хеш-таблицы HashMap по указанному
ключу. Параметром метод принимает ключ, который
нужно удалить. Метод возвращает Option<V>:
Some(значение), если ключ присутствовал
в таблице, и None, если такого ключа
не было. После удаления ключ и связанное с ним
значение больше не будут доступны в HashMap.
Синтаксис
hashmap.remove(&key)
Пример
Давайте создадим HashMap с несколькими парами и удалим из неё одну пару по ключу:
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 = map.remove("b");
println!("{:?}", res);
println!("{:?}", map);
}
Результат выполнения кода:
Some(2)
{"a": 1, "c": 3}
Пример
Давайте попробуем удалить ключ, которого нет в HashMap:
use std::collections::HashMap;
fn main()
{
let mut map = HashMap::new();
map.insert("a", 1);
map.insert("b", 2);
let res = map.remove("xyz");
println!("{:?}", res);
println!("{:?}", map);
}
Результат выполнения кода:
None
{"a": 1, "b": 2}
Пример
Давайте проверим, что после удаления ключа
метод contains_key возвращает
false:
use std::collections::HashMap;
fn main()
{
let mut map = HashMap::new();
map.insert("a", 1);
map.insert("b", 2);
let removed = map.remove("a");
let exists = map.contains_key("a");
println!("{:?}", removed);
println!("{}", exists);
}
Результат выполнения кода:
Some(1)
false
Смотрите также
-
метод
insert,
который добавляет пару ключ-значение в HashMap -
метод
get,
который возвращает ссылку на значение по ключу -
метод
contains_key,
который проверяет наличие ключа в HashMap -
метод
remove_entry,
который удаляет пару и возвращает ключ вместе со значением