相关疑难解决方法(0)

如何将一组值转换为对它们进行计数的 HashMap?

我有一组重复的项目,我想创建一个HashMap以项目为键的项目,以及它们在原始集合中出现的次数。

我正在处理的具体示例是一个字符串,我想计算每个字符出现的次数。

我可以做这样的事情:

fn into_character_map(word: &str) -> HashMap<char, i32> {
    let mut characters = HashMap::new();

    for c in word.chars() {
        let entry = characters.entry(c).or_insert(0);
        *entry += 1;
    }

    characters
}
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有更优雅的解决方案。我正在考虑使用collect(),但它不维护项目之间的状态,所以似乎不支持我需要的东西。

这是在我为Exercism 上的“字谜”问题编写解决方案时出现的

rust

5
推荐指数
1
解决办法
2258
查看次数

标签 统计

rust ×1