社区
Java SE
帖子详情
Vector与ArrayList哪个比较好点?(易操作、效率高、方法多、优点明显==)
junyi2003
2003-10-27 02:07:08
菜鸟刚学不明白,请高人给我推荐一个。
说明理由哦,谢谢
^_^
...全文
295
15
打赏
收藏
Vector与ArrayList哪个比较好点?(易操作、效率高、方法多、优点明显==)
菜鸟刚学不明白,请高人给我推荐一个。 说明理由哦,谢谢 ^_^
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
loveyousomuch
2003-10-28
打赏
举报
回复
讲的很清楚!
clare0peng
2003-10-28
打赏
举报
回复
一張很好的帖子 ,值得學習
joincsdn
2003-10-28
打赏
举报
回复
很好!学习!
Crystal_arrow
2003-10-27
打赏
举报
回复
学习ing
solarspot
2003-10-27
打赏
举报
回复
学习…………
webfrogl
2003-10-27
打赏
举报
回复
什么叫同步?
phoenixtree
2003-10-27
打赏
举报
回复
看看源码就知道除了是否同步,其他几乎差不多
junyi2003
2003-10-27
打赏
举报
回复
UP
junyi2003
2003-10-27
打赏
举报
回复
呵呵,还有更好的或者更有特点的相似class能够介绍一下吗?
^_^
hb_wxy
2003-10-27
打赏
举报
回复
mark
zkjbeyond
2003-10-27
打赏
举报
回复
学习啊!
warren04
2003-10-27
打赏
举报
回复
楼上,很清楚哟。
bluesmile979
2003-10-27
打赏
举报
回复
只要不需要同步就用ArrayList,事实上ArrayList的存在基本上就是为了淘汰Vector,因为大多数情况下我们只是需要一个动态存储器,而不涉及同步问题。当然,考虑到有可能会有同步的需要以及像以前版本兼容Vector依然本保留下来。
superszhu
2003-10-27
打赏
举报
回复
Vector类和ArrayList类的主要不同之处在于同步。除了两个只用于串行化的方法,没有一个ArrayList的方法具有同步执行的能力;相反,Vector的大多数方法具有同步能力,或直接或间接。因此,Vector是线程安全的,但ArrayList不是。这使得ArrayList要比Vector快速。对于一些最新的JVM,两个类在速度上的差异可以忽略不计:严格地说,对于这些JVM,这两个类在速度上的差异小于比较这些类性能的测试所显示的时间差异。
通过索引访问和更新元素时,Vector和ArrayList的实现有着卓越的性能,因为不存在除范围检查之外的其他开销。除非内部数组空间耗尽必须进行扩展,否则,向列表的末尾添加元素或者从列表的末尾删除元素时,都同样有着优秀的性能。插入元素和删除元素总是要进行数组复制(当数组先必须进行扩展时,需要两次复制)。被复制元素的数量和[size-index]成比例,即和插入/删除点到集合中最后索引位置之间的距离成比例。对于插入操作,把元素插入到集合最前面(索引0)时性能最差,插入到集合最后面时(最后一个现有元素之后)时性能最好。随着集合规模的增大,数组复制的开销也迅速增加,因为每次插入操作必须复制的元素数量增加了。
stonegump
2003-10-27
打赏
举报
回复
两个用法差不多,都是实现List接口,区别在于Vector是已同步的,所以效率上比较低一些。一般,在不需要同步时应该使用ArrayList,反之使用Vector。可以看一下文档或源码。
Java进阶课程系列之
ArrayList
集合底层源码实战分析
ArrayList
是一种变长的集合类,基于定长数组实现。
ArrayList
允许空值和重复元素,当往
ArrayList
中添加的元素数量大于其底层数组容量时,其会通过扩容机制重新生成一个更大的数组。另外,由于
ArrayList
底层基于数组实现,所以其可以保证在 O(1) 复杂度下完成随机查找
操作
。其他方面,
ArrayList
是非线程安全类,并发环境下,多个线程同时
操作
ArrayList
,会引发不可预知的错误。 本节课程会带着大家去学习集合底层源码是什么个结构,他在做什么事情,能做到什么事情,会出现的问题以及解决
方法
,希望同学能够仔细听,详细你会收到丰富的回报的
ArrayList
、
Vector
、LinkedList的区别及其优缺点?
ArrayList
,LinkedList,Vestor这三个类都实现了java.util.List接口,但它们有各自不同的特性,主要如下: 一、同步性
ArrayList
,LinkedList是不同步的,而...但在多线程的情况下,有时候就不得不使用
Vector
ArrayList
、
Vector
、LinkedList三者
ArrayList
、
Vector
、LinkedList三者的区别
面试题:
ArrayList
、LinkedList.
Vector
三者的异同?
ArrayList
:作为List接口的主要实现类,线程不安全,
效率高
,底层采用Object[]数组存储 LinkedList:对于频繁的插入,删除
操作
适用,效率比
ArrayList
高。底层使用双向链表存储
Vector
:List接口的古老实现类,线程...
Java集合01_
ArrayList
、LinkedList 和
Vector
Java集合 数组的
优点
: 元素连续分配空间,根据下标访问元素(随机访问
效率高
) ...
ArrayList
底层数据结构是数组,查询快,增删慢,线程不安全,
效率高
add()、size()、isEmpty() contains()、indexOf()、
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章