Java教程-Java Vector

Java Vector
Vector类类似于动态数组,它可以根据需要增长或缩小大小。与数组不同,我们可以在其中存储任意数量的元素,因为它没有大小限制。它是Java集合框架的一部分,自Java 1.2起提供。它位于java.util包中并实现了List接口,因此我们可以在此处使用List接口的所有方法。
建议仅在需要线程安全实现时使用Vector类。如果不需要使用线程安全实现,应该使用ArrayList,在这种情况下,ArrayList的性能更好。
Vector类返回的迭代器是快速失败的。在并发修改的情况下,它会失败并抛出ConcurrentModificationException异常。
它与ArrayList类似,但有两个区别:
- Vector是同步的。
- Java Vector包含许多遗留方法,这些方法不是集合框架的一部分。
Java Vector类声明
- public class Vector<E>
- extends Object<E>
- 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