Java Vector 类:初学者指南

引言

你好,未来的 Java 程序员!今天,我们将深入探讨令人兴奋的 Java Vector 类的世界。如果你以前从未编写过一行代码,请不要担心——我将作为你的友好向导,在这段旅程中陪伴你,正如我在过去的教学生涯中陪伴无数学生一样。

Java - Vector Class

想象一下,你正在组织一个派对,你需要一个列表来跟踪所有的宾客。在 Java 中,Vector 基本上做的就是这件事——它是一个动态列表,可以根据需要增长或缩小。非常方便,对吧?

类声明

让我们从如何在 Java 中声明一个 Vector 开始。这比你想象的要简单!

import java.util.Vector;

Vector<String> guestList = new Vector<String>();

在这个例子中,我们创建了一个名为 guestList 的 Vector,它将保存 String 对象(在这种情况下,是我们的派对宾客的名字)。<String> 部分告诉 Java 我们将在 Vector 中存储哪种类型的对象。

类构造函数

现在,让我们看看我们可以创建 Vector 的不同方式。这就像选择你想举办的派对有多大一样!

// 默认构造函数
Vector<Integer> v1 = new Vector<>();

// 带有初始容量的构造函数
Vector<Integer> v2 = new Vector<>(10);

// 带有初始容量和容量增量的构造函数
Vector<Integer> v3 = new Vector<>(10, 5);

// 从另一个集合创建的构造函数
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
Vector<Integer> v4 = new Vector<>(list);

这些构造函数以略有不同的方式创建 Vector:

  1. 默认构造函数创建一个空的 Vector。
  2. 第二个创建一个具有初始容量为 10 的 Vector。
  3. 第三个创建一个具有初始容量为 10 的 Vector,并且每次需要增长时,它将增加 5。
  4. 最后一个从现有集合(在这种情况下,是 ArrayList)创建一个 Vector。

类方法

Vector 类附带了一个充满有用方法的工具箱。让我们看看一些最常见的方法:

方法 描述
add(E element) 将元素添加到 Vector 的末尾
add(int index, E element) 在指定位置插入元素
get(int index) 返回指定位置的元素
remove(int index) 删除指定位置的元素
size() 返回 Vector 中的元素数量
clear() 从 Vector 中移除所有元素
contains(Object o) 如果 Vector 包含指定的元素,则返回 true

继承的方法

Vector 并不是孤立的——它也继承了其父类的方法。这些包括:

  • AbstractListhashCode()equals()
  • AbstractCollectiontoString()
  • Objectclone()finalize()

这些继承的方法使 Vector 在开箱即用时就具有了更多的功能!

添加元素和迭代 Vector 示例

现在,让我们用一个有趣的例子来实践我们的知识。我们将创建一个我们最喜欢的冰淇淋口味的 Vector,然后打印出来。

import java.util.Vector;

public class IceCreamParty {
public static void main(String[] args) {
// 创建一个新的 Vector 来存储冰淇淋口味
Vector<String> iceCreamFlavors = new Vector<>();

// 向我们的 Vector 添加一些口味
iceCreamFlavors.add("巧克力");
iceCreamFlavors.add("香草");
iceCreamFlavors.add("草莓");
iceCreamFlavors.add("薄荷碎片");

// 打印出所有口味
System.out.println("我们的冰淇淋口味:");
for (String flavor : iceCreamFlavors) {
System.out.println("- " + flavor);
}

// 让我们在特定的位置添加另一种口味
iceCreamFlavors.add(2, "曲奇面团");

// 打印出更新后的列表
System.out.println("\n更新后的冰淇淋口味:");
for (int i = 0; i < iceCreamFlavors.size(); i++) {
System.out.println((i+1) + ". " + iceCreamFlavors.get(i));
}
}
}

让我们分解一下:

  1. 我们首先创建一个名为 iceCreamFlavors 的新 Vector。
  2. 我们使用 add() 方法添加四种口味。
  3. 我们使用 for-each 循环打印出所有口味。
  4. 然后,我们在索引 2(即第三个位置)添加“曲奇面团”。
  5. 最后,我们使用传统的 for 循环打印出带有编号的更新后的列表。

输出

当你运行这段代码时,你会看到类似这样的输出:

我们的冰淇淋口味:
- 巧克力
- 香草
- 草莓
- 薄荷碎片

更新后的冰淇淋口味:
1. 巧克力
2. 香草
3. 曲奇面团
4. 草莓
5. 薄荷碎片

就这样!你已经创建了、修改了并迭代了一个 Vector。这难道不让你觉得自己已经是一个真正的 Java 程序员了吗?

记住,熟能生巧。尝试创建包含不同类型对象的 Vectors,或者尝试我们讨论过的其他方法。在你意识到之前,你将会像专业人士一样操纵 Vectors!

Java 的 Vector 类是您编程工具箱中的一件强大工具。虽然由于性能原因,在现代 Java 编程中它已被 ArrayList 大幅取代,但理解 Vector 仍然很有价值,特别是在处理遗留代码或需要线程安全的动态数组时。

所以,继续编码,继续学习,最重要的是,继续享受 Java 的乐趣!

Credits: Image by storyset