Vec
имеет метод contains
для проверки, содержит ли оно конкретное значение.Метод требует, чтобы элементы реализовали PartialEq
, который вы можете автоматически получить следующим образом:
#[derive(PartialEq)]
pub struct Test {
val1: u8,
val2: u8,
}
Так что теперь вы можете сделать:
assert!(my_vec.contains(&c));
Если ваша коллекция становится большой, этобудет довольно неэффективным, так как он будет сравнивать каждый элемент, пока не найдет тот, который соответствует.HashSet
будет более эффективным, но поставляется с собственным требованием, что вам нужно также реализовать Eq
и Hash
.К счастью, их обычно можно получить таким же образом.