List ADT的两种实现方式:ArrayList和LinkedList
来源:互联网 发布:淘宝童装排名 编辑:程序博客网 时间:2024/06/05 05:27
List ADT 有两种实现方式:ArrayList和LinkedList。现在我对这两种方式的优缺点进行了一下总结:
1.ArrayList类提供了List ADT 的一种可增长数组的实现
优点:访问数据的时候花费的时间少,对get和set的调用花费常数时间;
缺点:新的数据项的增加和删除代价非常的昂贵,增加和删除数据项的时候,需要将所变动位置之后的所有的数据项的位置都需要移动,除非是在ArrayList的末端进行。
2.LinkedList则提供了Link ADT的双链表实现
优点:假设需要变动的位置是已知的,那么如果删除或者增加一个数据项的代价是很小的。这意味着在表的前端添加和删除数据都是常数时间,因此LinkedList提供了addFirst和removeFirst、addLast和removelast、以及getFirst和getlast这些方法,有效的添加、删除和访问表的两端。
缺点:不容易索引,因此对get的代价是非常昂贵的,除非进行操作的是非常接近表的端点的数据项。
3.http://blog.csdn.net/wemedia/details.html?id=40434中总结了JAVA程序员常见的10个错误,其中介绍了上面所提到的两种方式。
阅读全文
0 0
- List ADT的两种实现方式:ArrayList和LinkedList
- List ADT的两种实现方式
- java List 的两种常用实现类ArrayList和linkedList
- List的ArrayList和LinkedList
- List-ArrayList、LinkedList、Vector的底层实现和区别
- list arraylist 和 linkedlist
- List 和 LinkedList/ArrayList 声明的区别
- list,arraylist和linkedlist的区别
- Collection,List,ArrayList,Vector,LinkedList(实现方式,对比)
- ArrayList和LinkedList的几种循环遍历方式及性能对比分析 主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayLis
- ArrayList和LinkedList实现
- java的list几种实现方式的效率(ArrayList、LinkedList、Vector、Stack),以及 java时间戳的三种获取方式比较
- ArrayList和LinkedList底层实现的区别
- ArrayList和LinkedList底层实现的区别
- ArrayList和LinkedList的简单实现
- ArrayList和LinkedList的自我实现
- ArrayList和LinkedList底层实现的区别
- List接口的实现类ArrayList和LinkedList的一些区别(备忘)
- 机器学习相关书籍
- POJ3009 解题报告
- 合并两个有序链表
- 杨辉三角
- SQL学习笔记:表的约束
- List ADT的两种实现方式:ArrayList和LinkedList
- C++ 从函数返回指针(函数外返回局部静态变量的地址)
- leetcode Two Sum 解决思路
- poj3693(后缀数组+lcp+rmq)
- 170718 Linux 文件路径切换与查找
- HDU
- 正则表达式常用验证
- laravel5.4开启sql调试
- web错误集锦(自看)