Rust 如何将结构插入到HashMap中的向量中?
我的结构如下所示:Rust 如何将结构插入到HashMap中的向量中?,rust,Rust,我的结构如下所示: pub struct MonthlyProjection{ 发布顺序:u32, 酒吧总押金:f64, } 我有一个函数,它引用了包含以下结构的向量: fn生成投影(模拟结果:&Vec) 在这个函数中,我必须按序列对MonthlyProject结构进行分组,并使用它进行一些计算 这就是我的逻辑: 创建可变的HashMap,称为result\u map 对于模拟结果向量上的循环 如果result\u map已经具有给定序列号的向量,则将项目插入该现有向量,然后更新result
pub struct MonthlyProjection{
发布顺序:u32,
酒吧总押金:f64,
}
我有一个函数,它引用了包含以下结构的向量:
fn生成投影(模拟结果:&Vec)
在这个函数中,我必须按序列对MonthlyProject
结构进行分组,并使用它进行一些计算
这就是我的逻辑:
HashMap
,称为result\u map
模拟结果向量上的循环
result\u map
已经具有给定序列号的向量,则将项目插入该现有向量,然后更新result\u map
结果映射
没有给定序列号的现有向量,则创建新向量,插入结构,并更新结果映射
您将如何做到这一点?如果您不介意引入额外的依赖项,可以查看itertools: 否则,您可以使用
entry
API编写for循环:
let mut result_map:HashMap=HashMap::new();
用于模拟结果中的投影{
结果映射项(projection.sequence)或默认值()推送(projection);
}
结果图
()
请注意,您指定了一个
MonthlyProjection
类型,但随后使用MonthlySimulationResult
指定了函数头及其返回类型,因此不清楚那里发生了什么。此外,您还传入了对Vec
的引用,但返回了一个可传递的MonthlySimulationResult
,因此您需要在那里做一些事情。查看HashMap
上的entry
方法: