唯一关联哈希映射容器与关联哈希映射集装箱的属性是什么

What are the properties of a Unique Associative Hashmap Container vs Associative Hashmap Container

本文关键字:哈希 映射 关联 属性 是什么 集装箱 唯一      更新时间:2023-10-16

注意:有时答案是"作为用户,你不应该担心实现细节"。我会在这里注意到,这是一个基于我想学习的内容的问题,就像我想实现它一样。

根据SGI:

唯一关联容器是具有属性,容器中的每个键都是唯一的:中没有两个元素唯一关联容器具有相同的键。

我理解这么多。没有进一步解释的是,在密钥唯一和不唯一的情况下,数据是如何存储的(我猜没有解释的原因是它取决于实现)。那么,当键是唯一的时,所有bucket的大小都是1个元素吗?我认为这不是因为冲突,如果是,一旦hasher确定了bucket编号,并且密钥是唯一的,那么元素如何存储在bucket中?

如果密钥不是唯一的,该怎么办?元素是如何存储的,然后从桶中返回?

如果其他要点与唯一关联容器关联容器如何存储它们的元素以及它们之间的差异(如果有的话)有关,我也将不胜感激。

在唯一关联容器中是唯一的。正如您链接的页面上所述,如果您插入了一些带有关键字k的元素e,那么随后对带有相同关键字k的insert()的调用将不会插入新元素。还要注意,从您链接的页面中,count()方法总是返回0或1,该方法返回具有给定键的UAC中的元素数。

你关于"水桶"的问题不清楚。容器如何在后端存储数据——例如,无论哈希映射是否通过链接或其他机制处理冲突——都不应该影响用户。