HashMap
HashMap 是一种键值对(key-value pair)的集合。对没错,他就是存储键值对的东西。 通过 key,可以获取对应的 value。
简单使用
rust
use std::collections::HashMap;
fn main() {
let mut map = HashMap::new();
map.insert("color", "red");
map.insert("size", "10 m^2");
println!("{}", map.get("color").unwrap());
}输出: red
支持迭代器
rust
use std::collections::HashMap;
fn main() {
let mut map = HashMap::new();
map.insert("color", "red");
map.insert("size", "10 m^2");
for p in map.iter() {
println!("{:?}", p);
}
}运行结果:
("color", "red")
("size", "10 m^2")安全地插入
rust 默认在重复插入时,如果已存在这个键,则会覆盖旧值。
如果你想"安全地插入",就是在确认当前不存在某个键时才执行插入动作,可以这样:
rust
map.entry("color").or_insert("red");若想修改旧值,有更快的方法:
rust
use std::collections::HashMap;
fn main() {
let mut map = HashMap::new();
map.insert(1, "a");
if let Some(x) = map.get_mut(&1) {
*x = "b";
}
}