zl程序教程

您现在的位置是:首页 >  Java

当前栏目

Java进阶:【集合】1.8 jdk Arraylist和Vector集合源码分析

2023-03-20 14:53:36 时间

1.8 jdk Arraylist集合源码分析

  1. 底层数组,size是有效数据的长度,
  1. 在1.8中调用无参数构造器时底层的elementdata数组初始化为{ }
  1. add方法

在调用add方法后底层数组才重新赋值,为新的数组,长度为10,节省了内存,只有在需要添加的时候我们才要创建数组

Vector接口

  1. 底层是Object数组,int类型属性表示数组中的有效数据
  1. Vector vr = new Vector();调用构造器的时候
  1. add

list和Vector的区别

底层都是数组的扩容

区别:

ArrayList:

  1. ArrayList底层扩容长度为缘数组的1.5倍,线程不安全,效率高

Vector:

  1. 底层扩容长度为原数组的两倍,线程安全,效率地,已经淘汰

底层都为数组:

  1. 优点:查询效率高
  2. 缺点:删除元素效率低,
  3. 特点:可重复