这是月经贴么?
看源码就清楚了
ArrayList维护的是数组,get(index)直接由数组下标得到元素,所以快。速度和查找的位置无关
LinkedList维护的是链表,get(index)是从两头往中间挨个找。位置越往中间查询速度就越慢
插入
由于ArrayList维护的是数组,add(index,e)会将index位置以后的元素全部后移,调用了System.arraycopy(...)方法。所以index越靠前,arraycopy耗时越多
LinedList的add(index,e)先从两头挨个找到index位置,再插入。插入的操作是固定的,损失的是查询的时间
所以插入耗时和位置还是有关的。ArrayList越往前插入约耗时,LikedList插入越往中间约耗时
看源码就清楚了
ArrayList维护的是数组,get(index)直接由数组下标得到元素,所以快。速度和查找的位置无关
LinkedList维护的是链表,get(index)是从两头往中间挨个找。位置越往中间查询速度就越慢
插入
由于ArrayList维护的是数组,add(index,e)会将index位置以后的元素全部后移,调用了System.arraycopy(...)方法。所以index越靠前,arraycopy耗时越多
LinedList的add(index,e)先从两头挨个找到index位置,再插入。插入的操作是固定的,损失的是查询的时间
所以插入耗时和位置还是有关的。ArrayList越往前插入约耗时,LikedList插入越往中间约耗时
解决方案 »
- fedora 10 下rxtx 无法打开moxa卡cp-168u串口/dev/ttyM0 跪求救命!!
- Java 网络编程中读取数据问题
- 问个弱弱的问题,在什么情况下要用转义符。
- 请问如何控制系统的声音,比如关闭系统声音,增加音量,减小音量等,用jmf可以实现吗?
- 求教位图处理的问题
- 如何在加载同一个包中的类?
- 用swing做的界面 如何实现置顶 可以加分的 还有800分等你来拿 欢迎不同的解决方法
- 谁用过 JBuilder
- 哪位大虾能告诉我unicode中中文段的值?
- 请问各位高手,有没有关于jdbc饶过odbc做oracle客户端的资料
- 求助一个字符串处理问题
- java操作word文档,用什么工具好?
首先末尾插入就不考虑插入位置的影响。单从插入操作做的事情来看。
Linkedlist插入过程会封装一个链表对象
ArrayList的插入只是改变数组长度
事实证明Linkedlist在末尾的插入操作是更耗时的