Exercices Rust

Word Frequency Counter in Rust

Count how often each word appears with a HashMap and print the most common ones.

  • Débutant
  • 2 min de lecture
  • 1 exemple exécutable
Ce que vous allez apprendre
  • split_whitespace
  • entry().or_insert(0)
  • Sorting by count
counts
"the"3
"brown"1
"dog"1

The word is the key, the count is the value

Counting words is a typical job for a hash map: the word is the key and the number of times it appears is the value.

entry(word).or_insert(0) returns the counter for the word, creating it at 0 the first time. The pairs are then sorted by count, highest first, and by word when the counts are equal, so the output is always the same.

Points clés

  1. entry creates the counter the first time.
  2. Sort by count, then by word.
  3. take(3) keeps the top three.

Exemple Rust exécutable

Rust
Exécuter le code →
main.rs
use std::collections::HashMap;

fn main() {
    let text = "the quick brown fox jumps over the lazy dog the end";
    let mut counts: HashMap<&str, u32> = HashMap::new();

    for word in text.split_whitespace() {
        *counts.entry(word).or_insert(0) += 1;
    }

    let mut entries: Vec<(&str, u32)> = counts.into_iter().collect();
    entries.sort_by(|a, b| b.1.cmp(&a.1).then(a.0.cmp(b.0)));

    for (word, count) in entries.iter().take(3) {
        println!("{word}: {count}");
    }
}
Obtenir un bouton Run pour cet exemple Résultat de l'exécution
the: 3
brown: 1
dog: 1

S'entraîner

Ouvrez l'exemple dans le compilateur en ligne, modifiez une valeur ou ajoutez une ligne, et devinez la sortie avant de l'exécuter. Cassez ensuite le code exprès et lisez le message du compilateur.

Leçon terminée ?

Marquez-la comme apprise pour suivre votre progression.

Suivante : Iterators →

S'entraîner avec un défi

Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.

Tous les défis