【发布时间】:2013-05-27 17:22:14
【问题描述】:
假设我在这个数组中有一个带有 n 个元素的 ArrayList,我在开头添加了一个元素:
myArrayList.add(0,'some value');
这个操作的时间复杂度是多少?
Java Doc 没有指定这一点。
还有
刚开始学Java,看到一句话
An ArrayList in Java is a List that is backed by an array.
这里的“支持”是什么意思?谢谢!
【问题讨论】:
-
表示
ArrayList是一个实现,List是一个接口。 -
从技术上讲,ArrayList 在某种意义上只是一个数组。它使用 System.arraycopy 方法来处理添加和删除元素。在这种情况下,它将创建两个数组,一个来自 0-0(空),另一个来自 (0-n)。然后它创建一个长度为+1的新数组并将它们组合在一起,将新元素放入相应的索引处。
标签: java