Rust 是一门系统级编程语言,以其内存安全和高性能著称。在日常开发中,处理数据集合是不可避免的。Rust 标准库提供了强大而高效的 Rust collections(集合)模块,帮助开发者高效管理数据。本文将带你从零开始,深入浅出地学习 Rust 中最常用的集合类型,包括 Vec、HashMap 等,即使是编程新手也能轻松上手!
在 Rust 中,collections 是指一组可以动态增长或缩减的数据结构。它们位于标准库的 std::collections 模块中。常见的集合类型包括:
Vec:可变长度的数组(向量)HashMap:键值对映射HashSet:无序不重复集合String:虽然不是 std::collections 的一部分,但也是常用集合Vec 是 Rust 中最常用的集合类型,相当于其他语言中的“动态数组”。它存储在堆上,大小可变。
// 方法一:使用 Vec::new()let mut numbers: Vec = Vec::new();// 方法二:使用宏 vec!let mut fruits = vec!["apple", "banana", "orange"];// 方法三:指定初始容量let mut scores = Vec::with_capacity(10); numbers.push(42);numbers.push(100);// 输出:[42, 100]println!("{:?}", numbers); // 通过索引访问(注意:越界会 panic)let first = fruits[0];// 更安全的方式:使用 get()match fruits.get(1) { Some(fruit) => println!("Found: {}", fruit), None => println!("Index out of bounds!"),}// 修改元素fruits[0] = "grape"; HashMap 是键值对的集合,常用于快速查找。它是 Rust HashMap 的核心实现,属于 std::collections 模块。
use std::collections::HashMap;let mut user_scores = HashMap::new();user_scores.insert("Alice", 95);user_scores.insert("Bob", 87);user_scores.insert("Charlie", 92); // 查询是否存在if let Some(score) = user_scores.get("Alice") { println!("Alice's score: {}", score);}// 更新值user_scores.insert("Alice", 98); // 覆盖旧值// 仅在 key 不存在时插入user_scores.entry("David").or_insert(80); 除了 Vec 和 HashMap,Rust 还提供:
掌握 Rust 标准库 中的集合类型是编写高效 Rust 程序的基础。无论是使用 Vec 存储列表,还是用 HashMap 实现快速查找,Rust 的 collections 都提供了安全、高效且表达力强的 API。希望本教程能帮助你轻松入门 Rust collections,并在实际项目中灵活运用这些强大的工具!
提示:所有集合类型都实现了迭代器(Iterator),你可以使用 for 循环或函数式风格(如 map, filter)来处理数据。
本文由主机测评网于2025-12-23发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/20251212071.html