首页 > 解决方案 > 以安全简洁的方式迭代 HashMap 条目值的最简单方法

问题描述

这是我想做的一个例子:

let my_map: HashMap<i32, Vec<String>> = HashMap::new();
for v in my_map.get(&55).unwrap_or_else(|| &vec![]) {
    // v is a String
}

my_map可能有也可能没有带有指定键的条目。

有没有更简单(更简洁)的方法来做到这一点?如果没有,是否有一个同样简单的替代方案可以更好地执行,例如通过避免空向量初始化(以防 LLVM 不优化)?

标签: rust

解决方案


怎么样

if let Some(entry) = my_map.get(&55) {
   for v in entry {
   }
}

推荐阅读