8 常见集合
Rust标准库中包含一系列被称为“集合”的非常有用的数据结构。大部分其他数据类型都代表了一个值,但集合可以包含多个值
与内建的元组和数组不同,集合指向的数据存放在堆上,这意味着数据的数量不必在编译时就已知,并且还可以随着程序的运行增长和缩小。每种集合都有着不同的功能和成本,我们在实际操作中应该根据场景选择最合适的集合,本章我们将会了解三个被广泛使用的集合
vector允许我们一个挨一个存储一系列数量可变的值
字符串是字符的集合,我们之前见过String类型,本章我们会更进一步了解
哈希map允许我们将值与一个特定的键(key)相关联,这个叫做map的更通用的数据结构的特定实现
标准库中的其他类型的集合,我们可以参考文档
8.3 哈希map
HashMap<K,V>类型存储了一个键类型K对应一个值类型V的映射。它通过一个哈希函数来实现映射,决定如何将键和值放入内存中,很多编程语言都支持这种数据结构,但时可能名字不一样
哈希map可以用于需要任何类型作为键来寻找数据的情况,而不是像vector那样通过索引
新建一个哈希map
使用new函数创建空的HashMap,并使用insert增加元素
let mut scores = HashMap::new();
scores.insert(String::from("Blue",10));
scores.insert(String::from("Yellow",50));
因为与前两个集合相比,并不常用,所以并没