Java Vector

Vector类类似于动态数组,它可以根据需要增长或缩小大小。与数组不同,我们可以在其中存储任意数量的元素,因为它没有大小限制。它是Java集合框架的一部分,自Java 1.2起提供。它位于java.util包中并实现了List接口,因此我们可以在此处使用List接口的所有方法。

建议仅在需要线程安全实现时使用Vector类。如果不需要使用线程安全实现,应该使用ArrayList,在这种情况下,ArrayList的性能更好。

Vector类返回的迭代器是快速失败的。在并发修改的情况下,它会失败并抛出ConcurrentModificationException异常。

它与ArrayList类似,但有两个区别:

  • Vector是同步的。
  • Java Vector包含许多遗留方法,这些方法不是集合框架的一部分。

Java Vector类声明

  1. public class Vector<E>
  2. extends Object<E>
  3. implements List<E>, Cloneable, Serializable

Java Vector构造函数

Vector类支持四种类型的构造函数,如下所示:

序号构造函数描述
1)vector()使用默认大小(10)构造一个空的Vector。
2)vector(int initialCapacity)使用指定的初始容量构造一个空的Vector,且其容量增量为零。
3)vector(int initialCapacity, int capacityIncrement)使用指定的初始容量和容量增量构造一个空的Vector。
4)Vector(Collection<? extends E> c)构造一个包含集合c的元素的Vector。

Java Vector示例

import java.util.*;

public class VectorExample {
    public static void main(String args[]) {
        // 创建一个Vector
        Vector<String> vec = new Vector<String>();
        // 使用add()方法添加元素
        vec.add("Tiger");
        vec.add("Lion");
        vec.add("Dog");
        vec.add("Elephant");
        // 使用addElement()方法添加元素
        vec.addElement("Rat");
        vec.addElement("Cat");
        vec.addElement("Deer");

        System.out.println("Elements are: " + vec);
    }
}

输出:

Elements are: [Tiger, Lion, Dog, Elephant, Rat, Cat, Deer]

Java Vector示例2

import java.util.*;

public class VectorExample1 {
    public static void main(String args[]) {
        // 创建一个初始容量为4的空Vector
        Vector<String> vec = new Vector<String>(4);
        // 向Vector添加元素
        vec.add("Tiger");
        vec.add("Lion");
        vec.add("Dog");
        vec.add("Elephant");
        // 检查大小和容量
        System.out.println("Size is: " + vec.size());
        System.out.println("Default capacity is: " + vec.capacity());
        // 显示Vector元素
        System.out.println("Vector element is: " + vec);
        vec.addElement("Rat");
        vec.addElement("Cat");
        vec.addElement("Deer");
        // 再次检查大小和容量
        System.out.println("Size after addition: " + vec.size());
        System.out.println("Capacity after addition is: " + vec.capacity());
        // 再次显示Vector元素
        System.out.println("Elements are: " + vec);
        // 检查Tiger是否存在于Vector中
        if (vec.contains("Tiger")) {
            System.out.println("Tiger is present at the index " + vec.indexOf("Tiger"));
        } else {
            System.out.println("Tiger is not present in the list.");
        }
        // 获取第一个元素
        System.out.println("The first animal of the vector is = " + vec.firstElement());
        // 获取最后一个元素
        System.out.println("The last animal of the vector is = " + vec.lastElement());
    }
}

输出:

Size is: 4
Default capacity is: 4
Vector element is: [Tiger, Lion, Dog, Elephant]
Size after addition: 7
Capacity after addition is: 8
Elements are: [Tiger, Lion, Dog, Elephant, Rat, Cat, Deer]
Tiger is present at the index 0
The first animal of the vector is = Tiger
The last animal of the vector is = Deer

Java Vector示例3

import java.util.*;

public class VectorExample2 {
    public static void main(String args[]) {
        // 创建一个空的Vector
        Vector<Integer> in = new Vector<>();
        // 向Vector添加元素
        in.add(100);
        in.add(200);
        in.add(300);
        in.add(200);
        in.add(400);
        in.add(500);
        in.add(600);
        in.add(700);
        // 显示Vector元素
        System.out.println("Values in vector: " + in);
        // 使用remove()方法删除第一个出现的元素
        System.out.println("Remove first occurrence of element 200: " + in.remove((Integer) 200));
        // 删除元素后显示Vector元素
        System.out.println("Values in vector: " + in);
        // 删除索引为4的元素
        System.out.println("Remove element at index 4: " + in.remove(4));
        System.out.println("New Value list in vector: " + in);
        // 删除一个元素
        in.removeElementAt(5);
        // 检查Vector并显示元素
        System.out.println("Vector element after removal: " + in);
        // 获取此Vector的哈希码
        System.out.println("Hash code of this vector = " + in.hashCode());
        // 获取指定索引处的元素
        System.out.println("Element at index 1 is = " + in.get(1));
    }
}

输出:

Values in vector: [100, 200, 300, 200, 400, 500, 600, 700]
Remove first occurrence of element 200: true
Values in vector: [100, 300, 200, 400, 500, 600, 700]
Remove element at index 4: 500
New Value list in vector: [100, 300, 200, 400, 600, 700]
Vector element after removal: [100, 300, 200, 400, 600]
Hash code of this vector = 130123751
Element at index 1 is = 300

标签: java, Java面试题, Java下载, java教程, java技术, Java学习, Java学习教程, Java语言, Java开发, Java入门教程, Java进阶教程, Java高级教程, Java笔试题, Java编程思想