什么时候列表在算法上比地图更快?

When are lists algorithmically faster than maps?

我认为这是一个有效的问题,因为如果您使用以整数作为键的 Map,您的结构与列表类似。您可以使用 for 循环按顺序读取元素:

for i in 1,..., map.length():
    if i in map:
        doSomething(map[i])

此外,在列表中插入和读取一个元素是O(n),而在map中插入和读取是O(1)。 在什么情况下列表比映射更快? 如果我们关心代码的运行速度,在什么情况下列表严格来说不比映射差?在那种情况下我们应该总是使用地图吗?

用地图实现的列表不是更好的列表吗?

我认为从根本上说,列表是哈希映射的特定实现。出于这个原因,地图只能比列表更好。在理论上的复杂性方面。