- 产生版本:
Vector是JDK1.0产生的,ArrayList是JDK1.2产生的 - 线程安全:
Vector采用在方法上添加synchronized来保证线程安全,性能较低;
ArrayList采用异步处理,性能较高,不安全。 - 初始化以及扩容策略:
Vector对象产生时就初始化数组大小为10,当数组不够用时,扩容为源数组2倍;
ArrayList使用懒加载策略,在第一次添加元素时才初始化数组大小,当数组不够用时,扩容为源数组的1.5倍。
ArrayList与Vector的区别
最新推荐文章于 2022-04-15 17:26:12 发布
本文详细对比了Vector与ArrayList在产生版本、线程安全、初始化及扩容策略等方面的差异。Vector自JDK1.0时代便存在,通过方法级加锁确保线程安全,但效率较低。ArrayList则自JDK1.2引入,采用异步处理提高性能,但牺牲了线程安全性。Vector默认初始化容量为10,扩容时翻倍;而ArrayList采用懒加载,初始容量动态,扩容为1.5倍。
摘要由CSDN通过智能技术生成