千家信息网

ArrayList和Vector的区别有哪些

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家分享的是有关ArrayList和Vector的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。这两个类都实现了 List 接口(List 接口继承了
千家信息网最后更新 2026年11月01日ArrayList和Vector的区别有哪些

这篇文章给大家分享的是有关ArrayList和Vector的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

这两个类都实现了 List 接口(List 接口继承了 Collection 接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,,并且其中的数据是允许重复的,这是 HashSet 之类的集合的最大不同处,HashSet 之类的集合不可以按索引号去检索其中的元素,也不允许有重复的元素(本来题目问的与 hashset 没有任何关系,但为了说清楚 ArrayList 与 Vector 的功能,我们使用对比方式,更有利于说明问题)。
接着才说 ArrayList 与 Vector 的区别,这主要包括两个方面:.
(1)同步性:
Vector 是线程安全的,也就是说是它的方法之间是线程同步的,而 ArrayList 是线程序不安全的,它的方法之间是线程不同步的。如果只有一个线程会访问到集合,那最好是使
用 ArrayList,因为它不考虑线程安全,效率会高些;如果有多个线程会访问到集合,那最好是使用 Vector,因为不需要我们自己再去考虑和编写线程安全的代码。

备注:对于 Vector&ArrayList、Hashtable&HashMap,要记住线程安全的问题,记住 Vector与 Hashtable 是旧的,是 java 一诞生就提供了的,它们是线程安全的,ArrayList 与 HashMap是 java2时才提供的,它们是线程不安全的。所以,我们讲课时先讲老的。
(2)数据增长:
ArrayList 与 Vector 都有一个初始的容量大小,当存储进它们里面的元素的个数超过了容量时,就需要增加 ArrayList 与 Vector 的存储空间,每次要增加存储空间时,不是只增
加一个存储单元,而是增加多个存储单元,每次增加的存储单元的个数在内存空间利用与程序效率之间要取得一定的平衡。Vector 默认增长为原来两倍,而 ArrayList 的增长策略在文档中没有明确规定(从源代码看到的是增长为原来的1.5倍)。ArrayList 与 Vector 都可以设置初始的空间大小,Vector 还可以设置增长的空间大小,而 ArrayList 没有提供设置增长空间的方法。
总结:即 Vector 增长原来的一倍,ArrayList 增加原来的0.5倍。

感谢各位的阅读!关于"ArrayList和Vector的区别有哪些"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

线程 安全 增长 存储 空间 元素 两个 之间 单元 大小 接口 方法 同步 个数 位置 内容 多个 容量 效率 数据 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海喔噻互联网科技有限公司 A股互联网金融科技公司 没上市的科技互联网公司 深圳天众互联网科技公司 互联网科技大会 哈尔滨新华互联网科技 北京大学互联网科技怎么样 互联网科技实习生岗位职责 欧洲十大科技互联网公司 港股科技和互联网 彤创互联网科技有限公司 华夏互联网科技业 本届互联网博览会上的黑科技 畅思互联网科技 互联网在线教育科技创业 工业互联网等科技实现智能化赋能 互联网科技公司营业执照怎么办理 山东有哪些互联网科技公司 互联网时代的科技公司 互联网对科技影响 南京欣网互联网络科技有限公司 互联网与科技发展 亿人帮互联网科技 阿大互联网科技有限公司 电子科技大学互联网创业大赛 允成互联网科技有限公司融资 互联网科技大赛获奖感言 互联网科技快讯热点 承德科技产业互联网平台 互联网科技创业计划的风险分析
0