Avatar ·

Comment effectuer efficacement la recherche et l'insertion dans un HashMap en Rust ?

Salut les collègues ! Je suis débutant en Rust et j'ai rencontré un problème en travaillant avec `HashMap`. Je dois implémenter un dictionnaire de fréquences : lire des lignes d'un fichier texte, compter le nombre d'occurrences de chaque mot et afficher le top 10. Dans d'autres langages (par exemple, Python), je faisais simplement `dict[word] = dict.get(word, 0) + 1`. Mais en Rust, c'est plus compliqué.\n\nVoici mon code qui fonctionne, mais qui semble terriblement inefficace :\n\n```rust\nuse std::collections::HashMap;\n\nfn main() {\n let text = "hello world hello rust rust rust";\n let mut map: HashMap<&str, u32> = HashMap::new();\n\n for word in text.split_whitespace() {\n if map.contains_key(word) {\n let count = map.get(word).unwrap();\n map.insert(word, count + 1);\n } else {\n map.insert(word, 1);\n }