Java Vector 类:初学者指南
引言
你好,未来的 Java 程序员!今天,我们将深入探讨令人兴奋的 Java Vector 类的世界。如果你以前从未编写过一行代码,请不要担心——我将作为你的友好向导,在这段旅程中陪伴你,正如我在过去的教学生涯中陪伴无数学生一样。
想象一下,你正在组织一个派对,你需要一个列表来跟踪所有的宾客。在 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:
- 默认构造函数创建一个空的 Vector。
- 第二个创建一个具有初始容量为 10 的 Vector。
- 第三个创建一个具有初始容量为 10 的 Vector,并且每次需要增长时,它将增加 5。
- 最后一个从现有集合(在这种情况下,是 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 并不是孤立的——它也继承了其父类的方法。这些包括:
- 从
AbstractList
:hashCode()
,equals()
- 从
AbstractCollection
:toString()
- 从
Object
:clone()
,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));
}
}
}
让我们分解一下:
- 我们首先创建一个名为
iceCreamFlavors
的新 Vector。 - 我们使用
add()
方法添加四种口味。 - 我们使用 for-each 循环打印出所有口味。
- 然后,我们在索引 2(即第三个位置)添加“曲奇面团”。
- 最后,我们使用传统的 for 循环打印出带有编号的更新后的列表。
输出
当你运行这段代码时,你会看到类似这样的输出:
我们的冰淇淋口味:
- 巧克力
- 香草
- 草莓
- 薄荷碎片
更新后的冰淇淋口味:
1. 巧克力
2. 香草
3. 曲奇面团
4. 草莓
5. 薄荷碎片
就这样!你已经创建了、修改了并迭代了一个 Vector。这难道不让你觉得自己已经是一个真正的 Java 程序员了吗?
记住,熟能生巧。尝试创建包含不同类型对象的 Vectors,或者尝试我们讨论过的其他方法。在你意识到之前,你将会像专业人士一样操纵 Vectors!
Java 的 Vector 类是您编程工具箱中的一件强大工具。虽然由于性能原因,在现代 Java 编程中它已被 ArrayList 大幅取代,但理解 Vector 仍然很有价值,特别是在处理遗留代码或需要线程安全的动态数组时。
所以,继续编码,继续学习,最重要的是,继续享受 Java 的乐趣!
Credits: Image by storyset