mirror of https://github.com/sunface/rust-course
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.6 KiB
1.6 KiB
集合类型
在Rust标准库中有这样一批原住民,它们天生贵族,当你看到的一瞬间,就能爱上它们, 上面是我瞎编的,其实主要是离了它们不行,不信等会我介绍后,你放个狠话,非它们不用试试?
集合在Rust中是一类比较特殊的类型,因为Rust中大多数数据类型都只能代表一个特定的值,但是它们可以代表一堆。而且与语言级别的数组、字符串类型不同,标准库里的这些家伙是分配在堆上,因此都可以进行动态的增加和减少。
瞧,第一个集合排着整体的队列登场了,它里面的每个元素都雄赳赳气昂昂跟在另外一个元素后面,大小、宽度、高度竟然全部一致,真是令人惊叹。 它就是Vector
类型,允许你创建一个动态数组,它里面的元素是一个紧挨着另一个排列的。
紧接着,第二个集合在全场的嘘声和羡慕眼光中闪亮登场,只见里面的元素排成一对一对的,彼此都手牵着手,非对方莫属,这种情深深雨蒙蒙的样子真是...挺欠扁的。 它就是HashMap
类型,该类型允许你在里面存储KV
对,每一个K
都有唯一的V
与之配对。
最后,请用热烈的掌声迎接我们的String
集合,哦,抱歉,String
集合天生低调,见不得前两个那样,因此被气走了,你可以去这里找它.
言归正传,本章所讲的Vector
、HashMap
再加上之前的String
类型,是标准库中最最常用的集合类型,可以说,几乎任何一段代码中都可以找到它们的身影,那么先来看看Vector
.