Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsPmMpCl 182 of 373 menu
◀ ▶

Очистка карты в Rust

Очистка убирает все пары и оставляет карту пустой. Переменная по-прежнему указывает на ту же карту: после очистки в нее снова можно писать. Длина становится 0.

Заполним карту, очистим и проверим длину:

use std::collections::HashMap; fn main() { let mut ages = HashMap::new(); ages.insert("ann", 20); ages.insert("bob", 30); println!("{}", ages.len()); ages.clear(); println!("{}", ages.len()); ages.insert("cy", 25); println!("{}", ages["cy"]); }

Сначала длина 2, после очистки 0. Новая запись по ключу "cy" работает: карта только опустела, а не исчезла.

Очистку можно сравнить с удалением каждого ключа в цикле, но одной командой короче:

use std::collections::HashMap; fn main() { let mut room = HashMap::new(); room.insert("a", 1); room.clear(); println!("{}", room.is_empty()); }

Дана следующая карта:

let mut desk = HashMap::new(); desk.insert("a", 1); desk.insert("b", 2);

Очистите desk и выведите длину и ответ проверки пустоты.

Дана следующая карта:

let mut box_map = HashMap::new(); box_map.insert("x", 10); box_map.insert("y", 20);

Очистите box_map, добавьте одну пару по новому ключу и выведите значение.

Чем очистка отличается от создания новой пустой карты в ту же переменную, если старое имя еще где-то используется?

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить