# 常见集合

Rust 的标准库包含数种名为 *集合，collection* 的有用数据结构。大多数其他数据类型都表示某个特定值，而集合可以包含多个值。不同于内建的数组和元组类型，这些集合指向的数据存储在堆上，这意味着数据量在编译时无需知道，并且可以随着程序运行而增长或收缩。每种集合都有不同的能力与开销，针对咱们的当前情况选择恰当集合，属于一项咱们将随着时间推移而发展的技能。在这一章中，我们将讨论 Rust 程序中经常用到的三种集合：

- *矢量/向量，vector*，允许咱们存储彼此相邻的可变数量的值；
- *字符串，string*，属于字符的集合。我们早先已经提到过 `String` 类型，而在这一章中，我们将要深入讨论他；
- *哈希映射，hash map*，允许我们将值与特定键相关联。他是称为 *映射，map* 的更通用数据结构的一种特定实现。

要了解由标准库提供的其他集合类别，请参阅 [文档](https://doc.rust-lang.org/std/collections/index.html)。

我们将讨论怎样创建及更新矢量、字符串与哈希映射，以及他们各自的特殊之处。


