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

Повторы в множестве в Rust

Повторное значение во множество не попадает второй раз. Каждый элемент хранится один раз, поэтому вторая попытка добавить то же число или ту же строку не создает копию. Команда добавления сообщает, было ли значение новым, но для учебных примеров достаточно знать: повтор на экране не появляется.

Два раза запишем одну строку и сравним с двумя разными:

use std::collections::HashSet; fn main() { let mut set = HashSet::new(); set.insert("a".to_string()); set.insert("a".to_string()); set.insert("b".to_string()); println!("{}", set.len()); }

Длина 2, а не 3. Значение "a" осталось один раз, "b" добавилось отдельно. Так множество отсекает повторы из исходного списка, если элементы переносят в цикле.

То же для целых чисел:

use std::collections::HashSet; fn main() { let mut set = HashSet::new(); set.insert(1); set.insert(1); set.insert(2); println!("{}", set.len()); }

Дано множество:

let mut set = HashSet::new();

Три раза допишите "x" и один раз "y". Выведите длину.

Дан вектор:

let items = vec!["a", "a", "b"];

Соберите множество в uniq циклом по items и выведите длину uniq.

Скажите, изменится ли длина, если снова добавить значение, которое уже есть.

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