本文主要是介绍Java重修笔记 第四十一天 ArrayList的扩容机制、ArrayList和Vector的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
-
ArrayList集合的扩容机制
1. ArrayList 中维护了一个 Object 类型的数组 elementData,其数据就存放在里面
transient Object[] elementData;
2. 使用无参构造创建的 ArrayList 对象,elementData 默认大小为0,第一次添加初始化为10,以后每次扩容为之前的1.5倍
3. 使用有参构造创建的 ArrayList 对象,elementData 大小为参数的值,以后每次扩容为之前的1.5倍
-
ArrayList和Vector的区别
1. ArrayList 线程不安全,效率高,扩容逻辑是:
有参构造按1.5倍扩容;
无参构造默认0,第一次扩容为10,以后每次按1.5倍扩容
2. Vector 线程安全,效率较低,扩容逻辑是:
有参构造按2倍扩容;
无参构造默认10,以后每次按2倍扩容
这篇关于Java重修笔记 第四十一天 ArrayList的扩容机制、ArrayList和Vector的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!