在 Rust编程入门 的旅程中,理解基本的 Rust数据结构 是至关重要的一步。其中,HashMap 是最常用、最核心的字典类型数据结构,用于存储键值对(key-value pairs)。本教程将手把手教你如何在 Rust 中使用 HashMap,即使你是零基础的小白也能轻松上手!

HashMap 是 Rust 标准库中提供的一种关联容器,它允许你通过“键”(key)快速查找对应的“值”(value)。你可以把它想象成一本电话簿:名字是键,电话号码是值。
在 Rust 中,HashMap 属于 std::collections 模块,因此使用前需要先引入。
要使用 HashMap,首先需要在代码顶部添加以下导入语句:
use std::collections::HashMap;有多种方式可以创建 HashMap。最常见的是使用 new() 方法:
use std::collections::HashMap;fn main() { let mut scores = HashMap::new(); // 插入键值对 scores.insert(String::from("Blue"), 10); scores.insert(String::from("Yellow"), 50); println!("{:?}", scores);}注意:必须使用 mut 关键字,因为我们要修改这个 HashMap(插入数据)。
如果你已经有两个向量(一个存键,一个存值),可以用 collect() 方法快速构建 HashMap:
use std::collections::HashMap;fn main() { let teams = vec![String::from("China"), String::from("USA")]; let initial_scores = vec![10, 50]; let scores: HashMap<_, _> = teams.iter().zip(initial_scores.iter()).collect(); println!("{:?}", scores);}使用 get() 方法可以通过键获取对应的值(返回一个 Option 类型):
use std::collections::HashMap;fn main() { let mut scores = HashMap::new(); scores.insert(String::from("Blue"), 10); let team_name = String::from("Blue"); let score = scores.get(&team_name); match score { Some(s) => println!("Score for {} is {}", team_name, s), None => println!("Team not found!"), }}你可以使用 for 循环遍历所有的键值对:
use std::collections::HashMap;fn main() { let mut scores = HashMap::new(); scores.insert(String::from("Blue"), 10); scores.insert(String::from("Yellow"), 50); for (key, value) in &scores { println!("{}: {}", key, value); }}当你插入一个已存在的键时,旧值会被新值覆盖:
scores.insert(String::from("Blue"), 25); // 覆盖原来的 10如果你只想在键不存在时插入,可以使用 entry() API:
use std::collections::HashMap;fn main() { let mut scores = HashMap::new(); scores.insert(String::from("Blue"), 10); scores.entry(String::from("Blue")).or_insert(50); // 不会覆盖,因为 "Blue" 已存在 scores.entry(String::from("Red")).or_insert(50); // 会插入,因为 "Red" 不存在 println!("{:?}", scores); // Blue: 10, Red: 50}通过本教程,你已经掌握了 Rust 中 Rust字典(即 HashMap)的基本用法,包括创建、插入、查询、遍历和更新。这是学习 Rust数据结构 的重要一步,也是 Rust编程入门 的必备技能。
记住:HashMap 不保证元素的顺序,如果你需要有序字典,可以考虑使用第三方库如 indexmap。
继续练习吧!动手写几个小项目,比如计数器、缓存系统或配置管理器,来巩固你的 HashMap教程 所学知识。
本文由主机测评网于2025-12-04发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025123040.html