Очистка множества в Rust
Очистка убирает все значения. Переменная
по-прежнему указывает на тот же набор: после
очистки в него снова можно дописывать элементы.
Длина становится 0, а проверка пустоты
дает истину.
Заполним множество, очистим и проверим длину:
use std::collections::HashSet;
fn main() {
let mut set = HashSet::new();
set.insert("a".to_string());
set.insert("b".to_string());
println!("{}", set.len());
set.clear();
println!("{}", set.len());
set.insert("c".to_string());
println!("{}", set.len());
}
Сначала 2, после очистки 0, после
нового значения снова 1. Команда работает
так же предсказуемо, как у карты.
Удалять элементы по одному в цикле тоже можно, но очистка короче, когда нужно опустошить весь набор:
use std::collections::HashSet;
fn main() {
let mut set = HashSet::new();
set.insert(1);
set.insert(2);
set.clear();
println!("{}", set.is_empty());
}
Дано множество:
let mut set = HashSet::new();
set.insert("a".to_string());
set.insert("b".to_string());
Очистите set и выведите длину и
признак пустоты.
Дано множество:
let mut set = HashSet::new();
set.insert(10);
set.insert(20);
Очистите set, добавьте одно новое
число и выведите длину.
Скажите, можно ли после очистки снова дописывать значения в ту же переменную.