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

沧州地区阿里巴巴做网站西丽做网站

沧州地区阿里巴巴做网站,西丽做网站,好的交互网站,wordpress安装在子目录HashMap 在 Rust 中是一个非常常用且强大的数据结构,它允许你存储键值对(key-value pairs),并且能够快速地基于键检索值。 下面是使用 HashMap 的一些基本示例: 首先,你需要在你的文件中引入 HashMap: use std::col…

HashMap 在 Rust 中是一个非常常用且强大的数据结构,它允许你存储键值对(key-value pairs),并且能够快速地基于键检索值。

下面是使用 HashMap 的一些基本示例:

首先,你需要在你的文件中引入 HashMap

use std::collections::HashMap;

创建一个新的 HashMap

let mut map = HashMap::new();

插入元素

使用 insert 方法插入元素:

map.insert(String::from("key1"), 1);
map.insert(String::from("key2"), 2);
map.insert(String::from("key3"), 3);

注意,在上述例子中,键是 String 类型,值是 i32 类型。在实际使用中,你可以使用任何实现了适当 trait(例如 EqHash 对于键)的类型。

检索元素

使用 get 方法检索元素:

let value = map.get(&String::from("key1"));
match value {Some(v) => println!("Found value: {}", v),None => println!("No value found"),
}

或者更简洁地,使用 if let 语法:

if let Some(v) = map.get(&String::from("key1")) {println!("Found value: {}", v);
} else {println!("No value found");
}

遍历 HashMap

你可以使用 for 循环遍历 HashMap 中的键值对:

for (key, value) in &map {println!("{}: {}", key, value);
}

更新 HashMap 中的值

如果键已经存在,insert 方法会覆盖旧的值。如果你只想在键不存在时插入新值,可以使用 entry 方法:

match map.entry(String::from("key1")) {std::collections::hash_map::Entry::Occupied(mut entry) => {// 修改现有值*entry.get_mut() = 4;},std::collections::hash_map::Entry::Vacant(entry) => {// 插入新值entry.insert(1);},
}

或者使用更简洁的 or_insert 方法:

*map.entry(String::from("key1")).or_insert(1) = 4; // 如果 "key1" 存在,将其值设置为 4;否则,插入 (key1, 1) 但随后立即将其值更改为 4(这可能不是你想要的,因此请谨慎使用此简洁形式)。

通常你可能想要这样做:

if !map.contains_key(&String::from("key1")) {map.insert(String::from("key1"), 1);
} else {// 如果需要的话,处理已经存在键的情况。
}

或者,更优雅地使用 entry 方法:

map.entry(String::from("key1")).or_insert_with(|| {// 仅在键不存在时计算并插入新值。这里的闭包返回要插入的值。1 // 例如,这里返回1作为新值。实际上,你可以执行任何复杂的计算或逻辑来生成这个值。
});

在这个例子中,or_insert_with 方法允许你指定一个闭包,该闭包在键不存在时被调用以生成要插入的值。这对于需要复杂计算或避免不必要计算的情况非常有用。如果键已经存在,则不会调用闭包。

http://www.yayakq.cn/news/114900/

相关文章:

  • 淘宝网站的建设目的成都装修网站建设多少钱
  • 南京软件网站建设公司电子商务网站进度的基本流程
  • 网站设计郑州个人网页设计欣赏网站
  • 做网站能力介绍重庆建设教育协会网站
  • asp.net 网站写好后如何运行seo搜索引擎优化薪资水平
  • 网页设计代码网站阿里指数查询
  • 网站ftp上传到空间百度学术官网首页
  • 网站建设程序做哪些软件开发培训学校porin
  • 免费制作软件的网站第三方维护公司
  • 青岛网站建设 青岛博采网络怎样找到黄页网站
  • 有什么网站可以做编程题wordpress4.9.4源码
  • 如何优化网站图片大小学生个人网页优秀模板
  • 旅游网站建设和开发专业建设购物网站
  • html5做静态网站wordpress网页教程
  • 学校网站建设的好处小程序开发教程 下载
  • 怎样注册一个自己的网站找网站建设公司
  • 深信服对单一网站做限速北京东城做网站
  • 静态html网址网站导航源码东莞免费企业网站建设
  • 怎么建小说网站王者荣耀是哪家公司开发的
  • 雅安市建设局网站深圳网站建设公司流程
  • 电商网站运营网站小logo设计
  • 响水做网站建立网站大概投入
  • 网站容量wordpress临时关闭
  • 网站建设的技术外贸论坛买家信息网
  • 建立网站需要多长钱厦门网站设计公司找哪家厦门小程序建设
  • 查网站是不是用shopify做的dw网页制作使用方法
  • 郑州好的网站设计公司几个月网站没有排名
  • 上海大学生做网站的团队设计师图库网站
  • 自己网站服务器开发网站需要多少人
  • 儿童网站源码免费建企业网站