黑马程序员技术交流社区

标题: 关于list集合的问题 [打印本页]

作者: zhuiyi0819    时间: 2013-4-14 00:26
标题: 关于list集合的问题
请教一下ArrayList,Vector, LinkedList的存储性能和特性。
作者: Asan    时间: 2013-4-14 00:34
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
作者: hacket    时间: 2013-4-14 00:49
我就偷个懒,这上面讲的清晰多了。

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

22222.png

作者: 谭辉    时间: 2013-4-14 07:43
--ArrayList:底层的数据结构使用的是数组.特点:查询快,增删慢,线程不同步
--LinkedList:底层使用的数据结构是链表.特点:查询慢,增删快
--Vector:底层是数组数据结构,线程同步,被ArrayList替代了.

作者: 庞立森    时间: 2013-4-14 08:22
ArrayList:数据结构使用的是数组.特点:查询快,增删慢,因为数组有脚标所以查询速度较快,但是当删除某一个元素的时候,其后面的元素要依次往前挪,所以较慢
Vector和ArrayList只有一个区别就是:Vector是1.0版本的是线程同步的,ArrayList是后来才出的,不是线程同步的,速度稍微比Vector快一些,(看需要选择哪一个)
LinkedList:数据结构是链表,特点是,增删快,查询慢,因为删除某一个数据的时候,只要知道他前后的元素就够了,所以删除速度较快
作者: 花伟昌    时间: 2013-4-14 08:42
Vector:内部是数组数据结构,是同步的,增删查询速度慢。
ArrayList :内部是数组数据结构,不同步,替代了Vector增删速度慢,查询速度快。
LinkedList:内部是链表数据结构,不同步,增删速度快,查询速度慢。
作者: 花伟昌    时间: 2013-4-14 08:42
Vector:内部是数组数据结构,是同步的,增删查询速度慢。
ArrayList :内部是数组数据结构,不同步,替代了Vector增删速度慢,查询速度快。
LinkedList:内部是链表数据结构,不同步,增删速度快,查询速度慢。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2