Введение в множества в Rust
Множество хранит набор значений без повторов и без порядка. Если в списке одно и то же число встречается три раза, в множестве оно остается один раз. Порядок обхода не закреплен: нельзя рассчитывать, что первым всегда будет то же значение, что и в записи на бумаге.
Такой набор удобен, когда важно только «есть или нет», а не сколько раз значение встретилось и не на какой позиции оно стоит. Например, список городов, где уже был человек, или коды ошибок, которые уже обработали. Дубликаты только мешают считать уникальные элементы.
В Rust для такого набора есть тип из стандартной библиотеки. Он работает похоже на карту, но хранит только сами значения, без пары «ключ и данные». Как и у карты, поиск идет быстро, а одно значение не занимает место дважды.
Дальше в разделе разберем создание пустого набора, добавление и удаление, длину, перенос из вектора и обратно, перебор и операции над двумя множествами. Опираемся на уже знакомые векторы и карты, без разбора владения и без типа для «может быть значение».