是ArrayListJava中的数组还是列表?什么是get操作的时间复杂度,是它O(n)还是O(1)?
ArrayList
O(n)
O(1)
一个ArrayList在Java是一种List由一个支持array。
List
array
该get(index)方法是恒定时间的O(1)操作。
get(index)
直接从Java库获取ArrayList.get(index)以下代码:
ArrayList.get(index)
public E get(int index) { RangeCheck(index); return (E) elementData[index]; }
基本上,它只是直接从后备数组中返回一个值。(RangeCheck(index))也是固定时间)
RangeCheck(index)