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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhuiyi0819 中级黑马   /  2013-4-14 00:26  /  1490 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请教一下ArrayList,Vector, LinkedList的存储性能和特性。

6 个回复

正序浏览
Vector:内部是数组数据结构,是同步的,增删查询速度慢。
ArrayList :内部是数组数据结构,不同步,替代了Vector增删速度慢,查询速度快。
LinkedList:内部是链表数据结构,不同步,增删速度快,查询速度慢。
回复 使用道具 举报
Vector:内部是数组数据结构,是同步的,增删查询速度慢。
ArrayList :内部是数组数据结构,不同步,替代了Vector增删速度慢,查询速度快。
LinkedList:内部是链表数据结构,不同步,增删速度快,查询速度慢。
回复 使用道具 举报
ArrayList:数据结构使用的是数组.特点:查询快,增删慢,因为数组有脚标所以查询速度较快,但是当删除某一个元素的时候,其后面的元素要依次往前挪,所以较慢
Vector和ArrayList只有一个区别就是:Vector是1.0版本的是线程同步的,ArrayList是后来才出的,不是线程同步的,速度稍微比Vector快一些,(看需要选择哪一个)
LinkedList:数据结构是链表,特点是,增删快,查询慢,因为删除某一个数据的时候,只要知道他前后的元素就够了,所以删除速度较快
回复 使用道具 举报
--ArrayList:底层的数据结构使用的是数组.特点:查询快,增删慢,线程不同步
--LinkedList:底层使用的数据结构是链表.特点:查询慢,增删快
--Vector:底层是数组数据结构,线程同步,被ArrayList替代了.
回复 使用道具 举报
我就偷个懒,这上面讲的清晰多了。

22222.png (530.44 KB, 下载次数: 7)

22222.png
回复 使用道具 举报
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马