- 2
- 0
- 约1.73万字
- 约 21页
- 2026-10-23 发布于北京
- 举报
第16章集合(2)
吉姆•布兰迪·Rust程序设计(第2版)
16.5hpKV与pKV
Map是键-值对[称为条目(entry)]的集合。任何两个条目都不会有相同的键,并且这些
条目会始终按某种数据结构进行组织,从而使你可以通过键在Map中高效地查找对应的值。
简而言之,Map就是一个查找表。
Rust了两种Map类型:HashMapK,V和BTreeMapK,V。这两种类型共享许多
相同的方法,区别在于它们如何组织条目以便进行快速查找。
HashMap会将键和值在中,因此它需要一个实现了Hash和Eq的键类型K,即
用来求与判断相等性的库特型。
图16-4展示了HashMap在内存中的排列方式。深灰域表示未使用。所有键、值和缓存
的码都在一个分配在堆上的表中。添加条目最终会迫使HashMap分配一个更大的表
并将所有数据移入其中。
图16-4:内存中的HashMap
BTreeMap会在树结构中按键的顺序条目,因此它需要一个实现了Ord的键类型K。图
16-
原创力文档

文档评论(0)