这是月经贴么?
看源码就清楚了
ArrayList维护的是数组,get(index)直接由数组下标得到元素,所以快。速度和查找的位置无关
LinkedList维护的是链表,get(index)是从两头往中间挨个找。位置越往中间查询速度就越慢
插入
由于ArrayList维护的是数组,add(index,e)会将index位置以后的元素全部后移,调用了System.arraycopy(...)方法。所以index越靠前,arraycopy耗时越多
LinedList的add(index,e)先从两头挨个找到index位置,再插入。插入的操作是固定的,损失的是查询的时间
所以插入耗时和位置还是有关的。ArrayList越往前插入约耗时,LikedList插入越往中间约耗时