Vector是List接口的实现类。
Vector是一个旧类,这意味着它不完全支持收集框架。
在Java的早期版本中引入的Vector类,因此需要重新设计这些类以支持收集框架。
当我们创建一个Vector对象时,默认存储容量为10,因此,如果达到最大容量,则将创建一个新的vector对象,并且如果我们存储该元素,则其容量将是新创建对象的当前容量的两倍。向量列表中的第11元素。
Vector是线程安全的,这意味着只允许一个线程对一个对象进行操作,这就是Vector是线程安全的原因。
我们将看到给出的如何使用默认构造函数创建Vector对象的方法。
语法:
Vector v = new Vector();
Vector对象的默认大小为10,因此,如果达到其最大容量,则将在下面给出新容量:
新容量= 2 * Current_Capacity;
Vector类实现RandomAccess接口,以便我们可以以相同的速度访问随机元素。
示例
import java.util.*; class VectorClass { public static void main(String[] args) { //创建一个Vector实例 Vector v = new Vector(); //显示Vector对象的默认容量 System.out.println("Current Capacity:" + v.capacity()); //循环打印10个元素 for (int i = 0; i < 10; ++i) v.addElement(i); //显示添加至10个元素的容量 System.out.println("Capacity of adding till 10 elements is:" + v.capacity()); v.addElement(11); //达到最大容量后的新容量 System.out.println("New Capacity after adding 11th element will be " + v.capacity()); } }
输出结果
E:\Programs>javac VectorClass.java Note: VectorClass.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. E:\Programs>java VectorClass Current Capacity:10 Capacity of adding till 10 elements is:10 New Capacity after adding 11th element will be 20
ArrayList是List接口的实现类。
ArrayList不是遗留类,这意味着它支持收集框架,我们不需要重新设计此类。
当我们创建一个ArrayList对象时,默认存储容量为10,因此,如果该元素达到最大容量,则将创建一个新的ArrayList对象,并且该容量将增加(如当前创建的对象的一半)。如果我们将第11元素存储在Vector列表中,则新容量将为16。
ArrayList不是线程安全的,因为它不同步。
我们将看到,如何使用ArrayList类创建ArrayList对象。
语法:
ArrayList object_name = new ArrayList();
ArrayList的默认大小为10。
ArrayList达到最大容量后,将创建一个具有新容量的新对象,并按以下方式计算新容量:
New_capacity = Current_Capacity * 3/2 + 1
ArrayList类实现RandomAccess接口,以便我们可以以相同的速度访问随机元素。
示例
import java.util.*; class ArrayListClass { public static void main(String[] args) { //创建一个ArrayList实例 ArrayList al = new ArrayList(); //循环打印10个元素 for (int i = 0; i < 10; ++i) al.add(i); //显示添加至10个元素的容量 System.out.println("Capacity of adding till 10 elements is:" + al.size()); //循环以再次打印6个元素 for (int j = 0; j < 6; ++j) al.add(j); //达到最大容量后的新容量 System.out.println("New Capacity after adding 6 more element will be " + al.size()); } }
输出结果
E:\Programs>javac ArrayListClass.java Note: ArrayListClass.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. E:\Programs>java ArrayListClass Capacity of adding till 10 elements is:10 New Capacity after adding 6 more element will be 16