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

水利部网站建设与管理司/信息流优化师发展前景

水利部网站建设与管理司,信息流优化师发展前景,设计师常备设计网站大全,硬件开发前景在Rust中,HashMap是一种非常有用的数据结构,用于存储键值对。本文将深入介绍HashMap的特性,以及通过一个单词统计的例子展示其用法。 HashMap简介 HashMap是Rust标准库提供的用于存储键值对的数据结构。它允许通过键快速查找对应的值&#…

在Rust中,HashMap是一种非常有用的数据结构,用于存储键值对。本文将深入介绍HashMap的特性,以及通过一个单词统计的例子展示其用法。

HashMap简介

HashMap是Rust标准库提供的用于存储键值对的数据结构。它允许通过键快速查找对应的值,是一个非常高效的数据结构。以下是一些关键特性:

  • 数据存储在堆上:HashMap的数据存储在堆上,使其具有动态大小,可以根据需要进行扩展或收缩。

  • 同构的:在一个HashMap中,所有的键(K)必须是同一种类型,所有的值(V)也必须是同一种类型。

创建和插入键值对

let mut scores = HashMap::new();
scores.insert(String::from("Blue"), 10);
scores.insert(String::from("Yellow"), 60);

这段代码创建了一个HashMap实例scores,并插入了两个键值对,键为字符串类型,值为整数类型。

使用zipcollect创建HashMap

let teams = vec![String::from("Blue"), String::from("Yellow")];
let initial_scores = vec![10, 50];
let scores: HashMap<_, _> = teams.iter().zip(initial_scores.into_iter()).collect();

在这里,通过zip将两个Vec合并为一个元素为元组的迭代器,然后使用collect方法将迭代器转换为HashMap

HashMap和所有权

HashMap对于实现了Copy trait的类型,如i32,会复制值到HashMap中。对于拥有所有权的值,如String,则会移动值,所有权转移给HashMap

let field_name = String::from("Favorite color");
let field_value = String::from("Blue");let mut map = HashMap::new();
map.insert(&field_name, &field_value);

在这个例子中,我们插入了field_namefield_value的引用,而不是移动它们。在HashMap有效期内,被引用的值必须保持有效。

访问和遍历HashMap

let team_name = String::from("Blue");
let score = scores1.get(&team_name);
match score {None => println!("Team not exist"),Some(s) => println!("Score: {}", s),
}for (k, v) in &scores1 {println!("{}: {}", k, v);
}

通过get方法可以根据键获取值,返回一个Option<&V>。通过遍历HashMap,我们可以访问其中的所有键值对。

更新HashMap

let mut scores11 = HashMap::new();
scores11.insert(String::from("Blue"), 10);
scores11.insert(String::from("Blue"), 20);// 使用entry方法检查键是否存在,不存在时插入新值
scores11.entry(String::from("Yellow")).or_insert(50);
scores11.entry(String::from("Blue")).or_insert(50);

HashMap的大小是可变的,每个键同时只能对应一个值。通过entry方法可以检查键是否存在,不存在时使用or_insert方法插入新值。

单词统计示例

let text = "hello world wonderful world";let mut map = HashMap::new();
for word in text.split_whitespace() {let count = map.entry(word).or_insert(0);*count += 1;
}
println!("{:#?}", map);

这段代码展示了如何使用HashMap进行单词统计。通过遍历文本中的单词,使用entry方法检查单词是否存在,不存在时插入新值。最终,得到一个包含每个单词及其出现次数的HashMap

HashMap在Rust中是一个强大的工具,通过合理使用可以简化很多与键值对相关的问题。在实际开发中,我们可以充分利用其特性,提高代码的效率和可读性。

http://www.jmfq.cn/news/5324023.html

相关文章:

  • 自贡市建设局网站/郑州seo顾问热狗
  • 建设 银行网网站/东莞服务好的营销型网站建设
  • 企业网站建设的案例/好看的网站ui
  • 上海小学网站建设招标/web网站模板
  • 达州建设企业网站/百度一下官网搜索引擎
  • 好的网站建设价格/推广引流网站
  • 零食性网站建设策划书/北京网络营销公司
  • 大连零基础网站建设教学培训/b站推广入口2023
  • 张掖北京网站建设/网站营销推广
  • 宁波江北区城市建设档案馆网站/免费建站免费网站
  • 文体广电旅游局网站建设方案/网址ip地址查询工具
  • 阿里云建设网站的流程/网络推广是干什么的
  • 潍坊 专业网站建设/免费加客源软件
  • 招聘网站建设价格/新媒体培训
  • 局域网站建设教程/百度投广告怎么收费
  • 怀柔富阳网站建设/太原百度关键词优化
  • 网站建设公司有/seo案例分析方案
  • 网页设计网站建设/市场营销网站
  • 五合一网站建设费用/河北百度推广客服电话
  • 电子商务网站软件建设的核心/百度推广登陆入口
  • 模板网站的建设/b站暴躁姐
  • 网站建设硬件预算/上海网络关键词优化
  • 建设部网站安全事故/58同城发布免费广告
  • 美食网站的建设背景/第三方网络营销平台有哪些
  • 江门外贸网站建设/求购买链接
  • 开封 网站建设 网络推广/seo概念的理解
  • 咸阳高端网站建设/软文兼职
  • 沈阳蓝德网站建设/百度一下官方网页版
  • 电子产品的网站建设/网络营销品牌策划
  • 网站建设与管理自考/推广普通话手抄报简单漂亮