Java Vector
在本教程中,我们将了解 Vector 类及其使用方法。我们还将了解它与 ArrayList 类的不同之处,以及为什么我们应该使用 ArrayList
。
在本教程中,我们将了解 Vector 类及其使用方法。我们还将了解它与 ArrayList 类的不同之处,以及为什么我们应该使用 ArrayList
。
Vector
类实现了 List
接口,与 ArrayList
类似,是一个可调整大小的列表。
Java Vector 与 ArrayList
在 Java 中, ArrayList
和 Vector
都实现了 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 中是否包含指定的元素 |