A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王晓杰 中级黑马   /  2015-1-4 17:48  /  1333 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

ArrayList 和 LinkList的区别

8 个回复

倒序浏览
我也想知道
回复 使用道具 举报
还没学到那里
回复 使用道具 举报
ArrayList底层是用数组实现的,所以插入删除麻烦;而LinkedList底层是链表,存储的对象在内存中不是连续的,而是由索引连接,所以插入删除比较容易,直接操作索引就可以
回复 使用道具 举报
最大的区别就是,数据结构不同。
回复 使用道具 举报
四楼说的很对
回复 使用道具 举报
ArrayList;底层的数据结构使用的是数组,特点:查询速度很快,增删很慢                 LinkedList;底层的数据结构使用的是链表,特点:增删速度很快,查询速度很慢
回复 使用道具 举报
再补充一个,就是linkedList里有很多特有的方法,比如removeFirst,removeLast,getFirst,getLast等,在增删数据的时候都非常好用。
回复 使用道具 举报
ArrayList
底层是数组
优点:查询快。原因:有索引。

LinkedList
底层是链表
优点:删除,插入快。原因:每一个元素能够记住其前面的元素和后面的元素。

查询时间复杂度(共n个元素,查询第i个元素)
ArrayList:O(1)
LinkedList:O(i)

插入或删除复杂度(共n个元素,查询第i个元素)
ArrayList(n-i)
LinkedList(1)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马