packagecom.key.demo.queue;importjava.util.Enumeration;importjava.util.Iterator;importjava.util.Vector;public classVectorTest {public static voidmain(String[] args) {
Vector values1= newVector();
System.out.println("values1.size():" +values1.size());//构造一个空向量,使其内部数据数组的大小为 10,其标准容量增量为零。
Vector values2 = new Vector(10);
System.out.println("values2.size():" +values2.size());//增量为5
Vector values3 = new Vector(10, 5);
System.out.println("values3.size():" +values3.size());
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");//ArrayList会比Vector快,他是非同步的,如果设计涉及到多线程,还是用Vector比较好一些
/*** 演示Vector的使用。包括Vector的创建、向Vector中添加元素、从Vector中删除元素、
* 统计Vector中元素的个数和遍历Vector中的元素。*/
//Vector的创建//使用Vector的构造方法进行创建
Vector v = new Vector(4);//向Vector中添加元素//使用add方法直接添加元素
v.add("Test0");
v.add("Test1");
v.add("Test0");
v.add("Test2");
v.add("Test2");//从Vector中删除元素
v.remove("Test0"); //删除指定内容的元素
v.remove(0); //按照索引号删除元素//获得Vector中已有元素的个数
System.out.println("size:" +v.size());//遍历Vector中的元素
for (int i = 0; i < v.size(); i++) {
System.out.println(v.get(i));
}
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
Vector v1= newVector();
v1.addElement("one");
v1.addElement("two");
v1.addElement("three");
v1.insertElementAt("zero", 0);
v1.insertElementAt("oop", 3);
v1.setElementAt("three", 3);
v1.setElementAt("four", 4);
System.out.println("size:" +v1.size());for (int i = 0; i < v1.size(); i++) {
System.out.println(v1.get(i));
}
v1.removeAllElements();
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
Vector v2= newVector();
v2.addElement("one");
v2.addElement("two");
v2.addElement("three");
Enumeration en=v2.elements();while(en.hasMoreElements()) {
System.out.println(en.nextElement());
}//由 Vector 的 iterator 和 listIterator 方法所返回的迭代器是快速失败的://如果在迭代器创建后的任意时间从结构上修改了向量(通过迭代器自身的 remove 或 add 方法之外的任何其他方式),//则迭代器将抛出 ConcurrentModificationException。//因此,面对并发的修改,迭代器很快就完全失败,而不是冒着在将来不确定的时间任意发生不确定行为的风险。//Vector 的 elements 方法返回的 Enumeration 不是 快速失败的。//见其他随笔解释
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
v2.listIterator();
Iterator it=v2.iterator();while(it.hasNext()) {
System.out.println(it.next());
}
}
}