Java Vector

在本教程中,我们将了解 Vector 类及其使用方法。我们还将了解它与 ArrayList 类的不同之处,以及为什么我们应该使用 ArrayList

在本教程中,我们将了解 Vector 类及其使用方法。我们还将了解它与 ArrayList 类的不同之处,以及为什么我们应该使用 ArrayList

Vector 类实现了 List 接口,与 ArrayList 类似,是一个可调整大小的列表。

Java Vector 与 ArrayList

在 Java 中, ArrayListVector 都实现了 List 接口并提供了相同的功能。但是,它们之间存在一些差异。

Vector 中的每个方法都是同步的。这意味着 JVM 对 Vector 每个方法的调用都会加锁。这往往会降低 Vector 的效率。

ArrayList 中的方法不是同步的,拥有比 Vector 更高的读取效率。

注意: 虽然 Vector 每个方法都是同步的,但是 Vector 并不是线程安全的,而且 Vector 效率较低。建议使用 ArrayList 代替 Vector

创建 Vector

我们可以通过 Vector 的构造方法创建 Vector 对象。 如下:

Vector<Type> vector = new Vector<>();

这里, Type 表示 Vector 中元素的数据类型。例如,

Vector<Integer> vector= new Vector<>();
Vector<String> vector= new Vector<>();

Vector 方法

Vector 类提供了很多方法用于操作 Vector 和其中的元素。下面列举了几个基本的操作:

将元素添加到 Vector

  • add(element) - 添加一个元素
  • add(index, element) - 在指定位置添加元素
  • addAll(vector) - 将一个 Vector 的所有元素添加到另一个 Vector

例如,

import java.util.Vector;

public class Main {
  public static void main(String[] args) {
    Vector<String> mammals = new Vector<>();

    // 添加元素
    mammals.add("Dog");
    mammals.add("Horse");

    // 在指定位置添加元素
    mammals.add(2, "Cat");
    System.out.println("Vector: " + mammals);

    Vector<String> animals = new Vector<>();
    animals.add("Crocodile");

    // 添加一个集合的所有元素
    animals.addAll(mammals);
    System.out.println("New Vector: " + animals);
  }
}

输出

Vector: [Dog, Horse, Cat]
New Vector: [Crocodile, Dog, Horse, Cat]

访问 Vector 元素

  • get(index) - 返回由索引指定的元素
  • iterator() - 返回一个迭代器对象以顺序访问 Vector 元素

例如,

import java.util.Iterator;
import java.util.Vector;

public class Main {
  public static void main(String[] args) {
    Vector<String> animals = new Vector<>();
    animals.add("Dog");
    animals.add("Horse");
    animals.add("Cat");

    // 使用索引获取元素
    String element = animals.get(2);
    System.out.println("Element at index 2: " + element);

    // 使用迭代器
    Iterator<String> iterate = animals.iterator();
    System.out.print("Vector: ");
    while (iterate.hasNext()) {
      System.out.print(iterate.next());
      System.out.print(", ");
    }
  }
}

输出

Element at index 2: Cat
Vector: Dog, Horse, Cat,

删除 Vector 元素

  • remove(index) - 从指定位置删除元素
  • removeAll() - 在 Vector 中删除由参数集合指定的所有元素
  • clear() - 删除所有元素。它比 removeAll()

例如,

import java.util.Vector;

public class Main {
  public static void main(String[] args) {
    Vector<String> animals = new Vector<>();
    animals.add("Dog");
    animals.add("Horse");
    animals.add("Cat");

    System.out.println("Initial Vector: " + animals);

    // 按索引删除
    String element = animals.remove(1);
    System.out.println("Removed Element: " + element);
    System.out.println("New Vector: " + animals);

    // 全部删除
    animals.clear();
    System.out.println("Vector after clear(): " + animals);
  }
}

输出

Initial Vector: [Dog, Horse, Cat]
Removed Element: Horse
New Vector: [Dog, Cat]
Vector after clear(): []

其他 Vector 方法

方法 说明
set() 修改 Vector 的一个元素
size() 返回 Vector 的大小
toArray() 将 Vector 转换为数组
toString() 将 Vector 转换为字符串
contains() 检查 Vector 中是否包含指定的元素