为什么必须将此HashMap密钥取消引用两次?

时间:2019-11-18 20:23:44

标签: rust

此函数使用Vec<i32>计算HashMap的模式,以计数每个值的出现次数。我不明白为什么除非在最后一行中两次引用该键,否则为什么它不会编译:

fn mode(vec: &Vec<i32>) -> i32 {
    let mut counts = HashMap::new();

    for n in vec {
        let count = counts.entry(n).or_insert(0);
        *count += 1;
    }

    **counts.iter().max_by_key(|a| a.1).unwrap().0
}

1 个答案:

答案 0 :(得分:2)