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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周斌 中级黑马   /  2012-11-1 19:40  /  1698 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 周斌 于 2012-11-7 12:08 编辑

ArrayList,Vector, LinkedList的存储性能和特性,ArrayList与List的关系

3 个回复

正序浏览
| -- List :元素是有序的,元素可以重复。因为该集合体系有索引。
                | -- ArrayList :底层的数据结构使用的是数组结构。线程不同步。
                                    特点:查询速度很快。但增删稍慢。
                | -- LinkedList : 底层使用的链表数据结构。
                                    特点:增删速度很快,查询很慢。
                | -- Vector :底层是数组数据结构。线程同步。
回复 使用道具 举报
老张的面试宝典中原话:
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
LinkedList也是线程不安全的,LinkedList提供了一些方法,使得LinkedList可以被当作堆栈和队列来使用。

回复 使用道具 举报
List是一个接口 ArrayList是LIst接口下的一个实现类
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马