Удаление пары в Rust
Удаление убирает пару по ключу. Остальные пары остаются, длина уменьшается на единицу, если ключ был. Команду вызывают у карты, результат в учебных примерах не разбирают.
Создадим три пары, удалим одну и проверим длину:
use std::collections::HashMap;
fn main() {
let mut ages = HashMap::new();
ages.insert("ann", 20);
ages.insert("bob", 30);
ages.insert("cy", 25);
ages.remove("bob");
println!("{}", ages.len());
println!("{}", ages.contains_key("bob"));
}
Длина 2. Проверка по "bob"
дает нет. Пары "ann" и "cy"
на месте.
Если ключа уже нет, удаление не ломает карту:
use std::collections::HashMap;
fn main() {
let mut ages = HashMap::new();
ages.insert("ann", 20);
ages.remove("ghost");
println!("{}", ages.len());
}
Дана следующая карта:
let mut pair = HashMap::new();
pair.insert("a", 1);
pair.insert("b", 2);
Уберите один ключ и выведите длину и ответ проверки для удаленного ключа.
Дана следующая карта:
let mut room = HashMap::new();
room.insert("a", 1);
Уберите ключ, которого нет, и выведите длину до и после.
Дана следующая карта:
let mut trio = HashMap::new();
trio.insert("a", 1);
trio.insert("b", 2);
trio.insert("c", 3);
Уберите две пары разными командами и выведите оставшееся значение по ключу.