为什么 get 操作对于 ArrayList 的运行时间为 O(1),而对于 LinkedList 的运行时间为 O(N)?

Why does the get operation have a runtime of O(1) for an ArrayList, but O(N) for a LinkedList?

这两个runtime有什么区别,是如何实现的?如果我也能得到运行时的解释,那就太好了!

数组列表使用具有索引的数组来实现数据结构。如果您知道从中获取数据的索引,则获取将为 O(1)。

LinkedLIsts 使用相对引用来实现数据结构。您不可避免地必须遍历 link 才能到达您想要的那个。每个 link 都是通往另一个 link 的通道。因此,它是 O(n).