hashmap - 用另一个 HashMap 的内容扩展 HashMap
问题描述
我有一个返回 a 的函数,HashMap<String, u64>
我想HashMap<String, u64>
用该函数的返回值扩展另一个:
pub fn find_album(&self, artist: String, album: String) -> Vec<String>
pub fn get_tracks(&self, album_id: String) -> HashMap<String, u64>
let mut track_nums: HashMap<String, u64> = HashMap::new();
for id in client.find_album(artist, album) {
track_nums.extend(client.get_tracks(id).iter());
}
这给了我一个错误:
error[E0271]: type mismatch resolving `<std::collections::hash_map::Iter<'_, std::string::String, u64> as std::iter::IntoIterator>::Item == (std::string::String, u64)`
--> src/main.rs:23:20
|
23 | track_nums.extend(client.get_tracks(id).iter());
| ^^^^^^ expected reference, found struct `std::string::String`
|
= note: expected type `(&std::string::String, &u64)`
found type `(std::string::String, u64)`
将 a 与另一对HashMap
的所有对进行扩展的正确方法是什么?(key, value)
HashMap
解决方案
推荐阅读
- c# - 报表查看器数据集
- python - 如何根据 GradientBoost 结果绘制热图?
- python - 安装 pip python 时出现问题
- android - 如何在android中使用renderscript使用smoothstep函数
- javascript - Click evt 注册到 div 周围的复选框而不是复选框本身
- android - Xamarin“Resource.Layout”不包含“*”错误的定义
- javascript - Firebase数据更改时如何重新加载html表
- css - 给定样式属性“网格区域”时如何修复我的网格项目不消失
- swift - RealmSwift LinkingObjects 和 Decodable
- docker - 在单独的 Docker 层中构建 go 依赖项