当前位置: 首页 > news >正文

第 6 章:集合与迭代

第 6 章:集合与迭代

第 6 章:集合与迭代

6.1 常用集合

Vec<T>

let mut v = Vec::new();
v.push(1);
v.push(2);
println!("{:?}", v);

HashMap<K, V>

use std::collections::HashMap;
let mut scores = HashMap::new();
scores.insert(String::from("Blue"), 10);

HashSet<T>

use std::collections::HashSet;
let mut set = HashSet::new();
set.insert("apple");

6.2 迭代器基础

let v = vec![1, 2, 3];
for val in v.iter() {println!("{}", val);
}
  • iter():不可变借用
  • iter_mut():可变借用
  • into_iter():获取所有权

6.3 迭代器适配器

let v: Vec<i32> = (1..5).map(|x| x * 2).collect();
let sum: i32 = v.iter().sum();

常见适配器:map, filter, fold, collect

6.4 闭包与函数式编程

let add_one = |x: i32| x + 1;
println!("{}", add_one(5));
  • 闭包可以捕获环境
  • 与迭代器结合写出简洁代码

6.5 性能与内存管理

  • 避免不必要的拷贝
  • 使用 reserve 预分配容量
  • 选择合适的数据结构

6.6 练习

  • 使用 Vec 实现简单栈
  • HashMap 统计文本中的词频
  • 练习 mapfilterfold 操作
http://www.jsqmd.com/news/785568/

相关文章:

  • 质量好到出圈!2026广州聚杰芯科交调设备,监测精度远超行业标准 - 品牌速递
  • CANN驱动获取Flash信息API
  • CANN/ops-math 对角线张量算子
  • SD-WebUI-Inpaint-Anything:智能图像修复的终极指南
  • 集成机器学习在濒危语言文本分类中的应用:以霍拉米语为例
  • AI赋能边缘计算安全:从威胁检测到隐私保护的实战指南
  • AI 正在重塑泳装行业?今年春夏爆款早已换了玩法
  • 《QGIS空间数据处理与高级制图》001:什么是空间数据预处理?
  • 第 10 章:深入 Rust 生态与项目实践
  • 【2025最新】基于SpringBoot+Vue的抗疫物资管理系统管理系统源码+MyBatis+MySQL
  • 多模态大模型异构计算优化与部署实践
  • 如何scp不用密码
  • 2026成都半包装修公司前十强排名:口碑与工艺深度测评,谁更靠谱? - 推荐官
  • 大模型推理延迟骤降62%的现场实录(SITS 2024闭门技术白皮书首次解禁)
  • 成都钢管经销商|专注西南管材一站式批发|获取盛世钢联免费型钢价格 - 四川盛世钢联营销中心
  • 嵌入式开发避坑:海思Hi3536平台fw_printenv工具编译与移植保姆级教程(含Ubuntu18.04环境)
  • 基于扩散模型与激光雷达的风力机湍流入流场高保真重构技术
  • TypeScript HTTP客户端clientele:声明式API与全链路类型安全实践
  • 第 7 章:智能指针与高级所有权
  • 孤骑day25
  • PowerMill宏编程避坑指南:从‘中文乱码’到‘变量作用域’,新手常踩的5个雷区
  • 全球AI伦理治理:UNESCO建议书背后的博弈与落地挑战
  • 从清洗到判定,西恩士AI液冷清洁度清洗机设备如何保证颗粒物无残留 - 工业干货社
  • AI驱动创业金融决策:文献计量揭示智能尽调与风险评估新范式
  • ComfyUI-Manager终极解决方案:5种方法彻底解决节点类型重复与组件冲突问题
  • 途游游戏AI产品经理面试题精选:10道高频考题+答案解析
  • 3分钟免费安装GitHub中文化插件:彻底告别英文界面困扰
  • 用kNN算法给你的约会数据“算个命”:从数据清洗、特征可视化到模型调优的完整实战
  • 用ESP32和L298N驱动四路TT马达:从接线混乱到方向统一的调试实战
  • STM32F103C8T6接DHT11传感器,数据怎么用ZigBee和ESP8266传上云?一份保姆级配置流程