Java 中的 Vector 类
Java 中的 Vector 类是一种动态数组,它可以在运行时动态地增加或减少元素的大小。与传统的静态数组不同,Vector 类可以自动扩展以容纳新元素,并可以自动收缩以节省内存。
Vector 类属于 Java 集合框架中的一员,它实现了 List 接口,并且继承了 AbstractList 类,是一个线程安全的类。在 Java 2 的 Collection 框架中,Vector 是 List 的一个重要实现类,但新的代码中,通常更好地使用 ArrayList 或 LinkedList 代替 Vector。
Vector 类的基本操作
创建 Vector 对象
我们可以使用两种方法来创建 Vector 类的对象。
- 使用无参数的构造函数创建一个空的 Vector 对象。
Vector v = new Vector();
- 使用有参数的构造函数创建一个 Vector 对象,并且指定初始容量和自动增长量。
Vector v = new Vector(int initialCapacity, int capacityIncrement);
添加元素到 Vector 中
Vector 中可以添加任何类型的元素,当然也可以添加 null。
Vector v = new Vector();
v.add("Hello");
v.add("World");
v.add(null);
从 Vector 中获取元素
Vector 中的元素可以通过索引来访问。我们可以使用 get(int index) 方法获取指定索引位置上的元素,并可以使用 set(int index, Object element) 方法修改指定索引位置上的元素。
Vector v = new Vector();
v.add("Hello");
v.add("World");
v.add(null);
// 获取第一个和第二个元素
Object first = v.get(0);
Object second = v.get(1);
// 修改第三个元素
v.set(2, "Java");
从 Vector 中删除元素
Vector 中的元素可以通过索引来删除。我们可以使用 remove(int index) 方法删除指定索引位置上的元素,也可以使用 clear() 方法删除整个 Vector 中的所有元素。
Vector v = new Vector();
v.add("Hello");
v.add("World");
v.add(null);
// 删除第二个元素
v.remove(1);
// 删除整个 Vector 中的所有元素
v.clear();
获取 Vector 的大小与容量
可以使用 size() 方法获取 Vector 中的元素数量,使用 capacity() 方法获取 Vector 的容量大小。
Vector v = new Vector();
v.add("Hello");
v.add("World");
v.add(null);
// 输出元素数量和容量
System.out.println("The size of Vector is: " + v.size());
System.out.println("The capacity of Vector is: " + v.capacity());
Vector 类的线程安全性
由于 Vector 类的所有方法都是同步的,所以它是一个线程安全的类。如果多个线程同时操作一个 Vector 对象,它们会被互相阻塞,以便确保数据一致性。但这种同步机制可能会导致性能下降,因此在高并发场景下,我们更推荐使用 ArrayList 或 LinkedList 这样的非线程安全类,并在必要时手动进行锁定。
总结
Java 中的 Vector 类是一种动态数组,它可以在运行时动态地增加或减少元素的大小。与传统的静态数组不同,Vector 类可以自动扩展以容纳新元素,并可以自动收缩以节省内存。Vector 类是一个线程安全的类,但在高并发场景下,我们更推荐使用 ArrayList 或 LinkedList 这样的非线程安全类。
极客笔记