ArrayList与Vector的异同点有哪些
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"ArrayList与Vector的异同点有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学
千家信息网最后更新 2026年11月03日ArrayList与Vector的异同点有哪些
本篇内容介绍了"ArrayList与Vector的异同点有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
ArrayList VS Vector
相同点: 1>都是基于Object数组实现的。 2>都允许添加null元素。 不同点: 1>ArrayList不是线程安全的,Vector是线程安全的(方法是Synchronized的)。 2>ArrayList扩容后容量变为之前的1.5倍,Vector扩容后容量是之前的2倍,故ArrayList更省空间。 容量: ArrayList 初始容量:0 扩容:第一次(调用add方法时)扩展为10,之后每次扩展为之前的1.5倍。 说明: 1>虽然ArrayList类的初始容量默认为10(private static final int DEFAULT_CAPACITY = 10;) 2>但实际上在new ArrayList()后,ArrayList的elementData(transient Object[] elementData;)的length为0 3>在第一次调用add方法时,elementData的length才扩展到10 4>若之后还需要扩展容量时,容量每次扩展为之前的1.5倍 代码: 1>无参构造方法: this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; // private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; 2>扩容1.5倍: newCapacity = oldCapacity + (oldCapacity >> 1); 3>扩容时对数组进行复制: elementData = Arrays.copyOf(elementData, newCapacity); Vector 初始容量:10 扩容:每次扩展为之前的2倍。 代码: 1>无参构造方法: this(10); 2>扩容2倍: int newCapacity = oldCapacity + ((capacityIncrement > 0) ? capacityIncrement : oldCapacity); // capacityIncrement默认为0 3>扩容时对数组进行复制: elementData = Arrays.copyOf(elementData, newCapacity);ArrayList VS LinkedList
相同点: 1>都允许添加null元素。 不同点: 1>对于随机访问get和set,ArrayList比LinkedList快。 2>对于插入和删除操作,LinkedList比较快。
相关集合:
1)Collections.synchronizedList(List list) 举例: ListsyncArraylist = Collections.synchronizedList(new ArrayList ()); List syncLinkedList = Collections.synchronizedList(new LinkedList ()); 说明: 1>Collections.synchronizedList(List list)实际上是创建了一个java.util.Collections的内部类SynchronizedList。 2>SynchronizedList只是在自己的方法中使用同步代码块将List(封装的ArrayList、linkedList等)里相应的方法包裹了起来,故SynchronizedList的扩容方式同它封装的list一样。 3>SynchronizedList还可以指定锁对象,如不指定,默认为this。 2)CopyOnWriteArrayList: 1>使用ReentrantLock来实现线程的同步。 2>每添加一个元素,就进行一次数组的copy,故CopyOnWriteArrayList的写性能非常的糟糕。 3>多线程环境下,CopyOnWriteArrayList的读性能比Collections.SynchronizedList的读性能好一些(后者的get方法也被同步代码块包裹了,故读性能稍差一点)。3)Stack继承自Vector,新增了push、pop方法。
"ArrayList与Vector的异同点有哪些"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
方法
容量
代码
性能
线程
展为
元素
实际
数组
同步
异同
不同
相同
安全
不同点
内容
包裹
实际上
更多
相同点
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中智农互联网科技
亿人帮互联网科技有限公司
科技与互联网
互联网通讯科技
金融科技创新监管互联网金融
万易互联网科技有限公司
猫创互联网科技
中正互联网科技招聘
互联网科技公司招聘
深圳前海聚择互联网科技有限公司
宁波青枫互联网科技有限公司
中化能源互联网科技招聘
互联网时代科技改变生活
福建科技产业互联网发展
上海宁丞科技互联网
湖北码尼互联网科技有限公司电话
华中科技大学互联网的牛人
普陀区互联网教育科技管理办法
科技信息时代互联网发展
科技和互联网行业的特点
苏州互联网科技贷款公司
互联网科技大会案例
创业天下互联网科技有限公司
21世纪互联网科技成就
互联网安防科技感
普陀区互联网教育科技管理办法
云南互联网科技学费
互联网科技品牌
现代互联网科技公司
互联网科技大佬云集