Vector与ArrayList哪个比较好点?(易操作、效率高、方法多、优点明显==)

junyi2003 2003-10-27 02:07:08
菜鸟刚学不明白,请高人给我推荐一个。

说明理由哦,谢谢

^_^
...全文
295 15 打赏 收藏 转发到动态 举报
写回复
用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。可以看一下文档或源码。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧