Comment convertir un vecteur en HashSet en Rust : guide complet
Bonjour à tous ! J’ai récemment commencé à apprendre Rust et j’ai rencontré un problème. J’ai un vecteur avec des nombres, et je veux en obtenir un HashSet pour supprimer les doublons et vérifier rapidement la présence d’éléments. Dans d’autres langages, comme Python, cela se fait en une ligne : `set(my_list)`. Mais en Rust, je n’arrive pas à comprendre comment faire correctement.
Voici mon code :
```rust
let numbers = vec![1, 2, 3, 2, 1, 4, 5];
// Je veux obtenir un HashSet à partir de ce vecteur
let unique_numbers: HashSet = numbers.???; // Que dois-je écrire ici ?
```
J’ai essayé d’utiliser `numbers.into_iter().collect()`, mais le compilateur se plaint de ne pas pouvoir déduire le type. J’ai essayé de spécifier explicitement `HashSet::from_iter(numbers)`, mais cela n’a pas fonctionné non plus – il dit que le trait `FromIterator` n’est pas implémenté. J’ai aussi entendu parler de la méthode `drain()`, mais je ne suis pas sûr.