语言参考并未明确保证地图的性能。映射的执行有一个隐含的期望,就像您期望哈希表执行一样。我看不到性能保证如何避免被模糊地指定或不准确。
Big-
O复杂度是描述地图运行时间的一种糟糕方法:实际上,实际时钟时间是相关的,而复杂度则无关紧要。从理论上讲,具有有限域键(例如ints)的映射在空间和时间上都是O(1),而具有无限域键(例如字符串)的映射需要散列,并且相等性测试的详细信息包括在成本中,这使得插入和查找的平均情况最好为O(N
log N)(因为键的平均大小必须至少为O(log N)才能构造具有N个条目的哈希表。除非您在规范将是不准确的,正确实现它的好处显然不值得。
要保证实际运行时间而不是复杂性,这也很困难:目标计算机种类繁多,还有缓存和垃圾回收的混杂问题。



