ArrayList和LinkedList的区别
来源:互联网 发布:淘宝访客数据 编辑:程序博客网 时间:2024/06/05 08:30
摘自《Thinking In Java 》/12 page
从设计观点来看,真正需要的只是一个可以被操作,从而解决问题的序列。如果单一类型的容器可以满足所有需要,那么就没有理由设计不同种类的序列了。然而还是需要对容器有所选择,这有两个原因。第一,不同容器提供了不同类型的接口和外部行为。堆栈相比于队列就具备不同的接口和行为,也不同于集合和列表的接口和行为。它们之中的某种容器提供的解决方案可能比其它容器要灵活的多。第二,不同的容器对于某些操作具有不同的效率。
最好的例子就是两种List的比较:ArrayList和LInkedList。它们都是具有相同接口和外部行为的简单的序列,但是它们对某些操作所花费的代价却有天壤之别。在ArrayList中,随机访问元素是一个花费固定时间的操作;但是,对LinkedList来说,随机选取元素需要在列表中移动,这种代价是高昂的,访问越靠近表尾的元素,花费的时间越长。而另一方面,如果想在序列中间插入一个元素,LinkedList的开销却比ArrayList要小。上述操作以及其它操作的效率,依序列底层结构的不同而存在很大的差异。我们可以在一开始使用ListedList的构建程序,而在优化系统性能时改用ArrayList。接口List所带来的抽象,把在容器之间进行转换时对代码产生的影响降到最小限度。
0 0
- linkedlist和arraylist的区别
- ArrayList和LinkedList的区别
- ArrayList和LinkedList的区别
- ArrayList和LinkedList的区别
- ArrayList和LinkedList的区别
- ArrayList和LinkedList的区别
- arraylist和linkedlist的区别!
- LinkedList和ArrayList的区别
- LinkedList和ArrayList的区别
- LinkedList和ArrayList的区别
- ArrayList和LinkedList的区别
- ArrayList和LinkedList的区别
- LinkedList和ArrayList的区别
- ArrayList和LinkedList的区别
- ArrayList和LinkedList的区别
- ArrayList 和linkedlist的区别
- ArrayList和LinkedList的区别
- ArrayList和LinkedList的区别
- Unity 客户端框架(五):对象池
- Codeforces Round #365 (Div. 2) Mishka and trip
- error C2061: syntax error : identifier 'main'
- Java中遍历map的几种方法
- 筛素数法
- ArrayList和LinkedList的区别
- a :hover 和a:hover 区别
- OAuth2.0的认证流程
- 求二进制中1的个数相同、且大小最接近的两个数
- Kali渗透测试技术实战
- java中根据两个位置的经纬度计算距离
- 《Thinking in Java》学习笔记-----第1章 对象导论
- 如何设置Centos6.4系统的时区
- uses-permission权限列表