add(index,E)
我想知道java 方法的运行时间是多少ArrayList
。根据javadoc,添加操作的运行时间是摊销的O(1)
。但是在add(index,E)的描述中它说。
在此列表中的指定位置插入指定元素。将当前位于该位置的元素(如果有)和任何后续元素向右移动(将其索引加一)。
所以它看起来像O(N)
。我想知道如果此操作的运行时间是使O(1)
. 是否可以进行任何摊销工作来进行此操作O(1)
并为其他操作牺牲运行时间?
我读到javaArrayList
是由数组支持的,改变数据结构会有帮助吗?