如何将同一二维向量中源HashMap的条目转移至目标HashMap?
如何在Rust中将二维向量内的HashMap条目从源转移到目标
以下是实现同一二维向量中,源HashMap条目转移至目标HashMap的Rust代码示例:
use std::collections::HashMap; fn main() { let mut grid: Vec<Vec<HashMap<i32, i32>>> = vec![vec![HashMap::new(); 100 as usize]; 100 as usize]; let from = &mut grid[23][56]; let to = &mut grid[32][65]; let k = 6; let from_entry = from.remove_entry(&k); if let Some((k, v)) = from_entry { to.insert(k, v); } }
代码说明:
- 先初始化一个100×100的二维向量
grid,每个元素都是空的HashMap<i32, i32> - 通过可变引用分别获取源位置的HashMap(
grid[23][56])和目标位置的HashMap(grid[32][65]) - 调用
remove_entry方法从源HashMap中移除指定键k的条目,该方法返回Option<(K, V)>类型,键不存在时返回None - 利用
if let语法判断条目是否存在,若存在则将键值对插入到目标HashMap中
内容的提问来源于stack exchange,提问作者Harry
相关产品推荐
相关产品推荐

