List接口有三个实现类,ArrayList、Vector和LinkedList。
List用于存放多个元素,能够维护元素的次序,并且允许元素的重复。
Vector与ArrayList一样,也是通过数组实现的,不同的是它支持线程的同步,即某一时刻只有一个线程能够写Vector,避免多线程同时写而引起的不一致性,但实现同步需要很高的花费,因此,访问它比访问ArrayList慢。
随着jdk的不断更新,这个类已经逐渐被ArrayList所替代,下面简单介绍Vector类的特有方法
Enumeration<E> elements() 返回一个枚举类型的对象
void addElement(E obj) 添加元素
void removeElementAt(int index) 删除指定索引处的元素
boolean removeElement(Object obj)删除指定元素,返回删除前指定元素是否存在于Vector对象中
Vector方法继承实现图(Collection继承Iterable接口,所以其实现的类及子类都具有该接口方法,图中没体现)
示例
public class VectorTest01 {
public static void main(String[] args) {
Vector v1 = new Vector();
v1.addElement("a");
v1.addElement("b");
v1.addElement("c");
v1.addElement("d");
// addElement(Object obj)顺序添加元素
v1.addElement("e");
System.out.println(v1);
// void removeElementAt(int index)删除指定位置处的元素
v1.removeElementAt(1);
System.out.println(v1);
// void removeElement( Object obj)删除指定元素
v1.removeElement("c");
System.out.println(v1);
// 获取枚举对象
Enumeration e1 = v1.elements();
// 调用枚举的hasMoreElements()方法,判断当前游标处是否还有元素
while (e1.hasMoreElements()) {
// nextElement()方法,返回当前游标处的元素,将游标右移
System.out.println(e1.nextElement());
}
}
}
out:
[a, b, c, d, e]
[a, c, d, e]
[a, d, e]
a
d
e