HashMap<K,V>.entry() 错误,出现"未声明类型'Entry'"



当键存在时,我试图在HashMap<String, Vec<String>>中的Vec<String>中添加一个值,而当键不存在时,则创建一个新条目。我正在尽我所能遵循这方面的文档,但仍然收到这个错误:

error[E0433]: failed to resolve: use of undeclared type `Entry`

对于以下代码:

use std::collections::HashMap; 
fn main() {
let mut dir: HashMap<String, Vec<String>> = HashMap::new();
let group = String::from("Sales");
let emp = String::from("Bob");

match dir.entry(group) {
Entry::Vacant(e) => e.insert(vec![emp]),
Entry::Occupied(mut e) => e.get_mut().push(emp)
}

println!("{:?}", dir)
}

类型必须在作用域中才能引用它。因此,您必须为std::collections::hash_map::Entry添加一个use声明,或者每次编写时都完全限定它。

最新更新