以下是您可能要考虑的问题 -您不能在地图中存储具有相同值的多个元素查找时间是O(log(n))和不是O(1)地图中发生的事情并不神奇,它让我们可以在更短的时间内访问它。有一个散列过程在后台进行,unordered_map这O(1)也需要时间。所以,大 O 隐藏了一个很大的常数时间因素。标准map为您提供O(logn)查找,时间复杂度与数组中的二进制搜索相同。你得到的搜索的平均时间复杂度是差不多的。在 C++ 中使用标准映射的主要问题是它无法保存具有相同值的多个元素。使用 map 可能获得的一个优势是删除和插入时间将是O(logn).因此,如果您知道您将要处理的数据集没有重复元素和/或将频繁添加/删除元素,那么在这种情况下您肯定可以将 map 视为更好的选择