ArrayList使用线性顺序存储结构,和数组一致,每个对象有一个index,index本身是有序的,所以你添加的时候,index有序增长,遍历的时候,按照index遍历,也是有序的。
如果arraylist不为null,则可以直接调用
add(0, element)以下为Arraylist api26 源码
public void add(int index, E element) {if (index > size || index < 0)
throw new IndexOutOfBoundsException(outOfBoundsMsg(index))
ensureCapacityInternal(size + 1) // Increments modCount!!
System.arraycopy(elementData, index, elementData, index + 1,
size - index)
elementData[index] = element
size++
}
可以看到add方法会判断index不大于size,结合
add(0, element)也就是size>=0,就会自动扩容,将旧的数据依次排到后面。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)