Vector类实现了AbstractList。Vector相当于动态数组,Java中我们定义数组之后,元素的个数不能发生变化,如果元素个数未知就不能使用数组,这时候就可以使用Vector。Vector对象可以存放各种对象。Vector是一个动态数组,所以在执行过程中,会随着元素的变化调整自身的容量。提供了4种构造函数:public Vector(); 默认的构造函数,用于创建一个空的数组。public Vector(Collection c); 根据指定的集合创建数组。public Vector(int initialCapatity); 指定数组的初始大小。public Vector(int initialCapacity,int increment); 指定数组的初始大小,并指定每次增加的容量。方法比较多,下面通过一个实例,该实例基本包含了主要的方法:package com.li.collection; import java.util.Vector;import java.util.ListIterator; public class VectorTest { public static void main(String[] args) { VectorTest vectortest = new VectorTest(); vectortest.test(); } public void test() { Vector v1 = new Vector(); //创建v1对象 v1.add("1a"); v1.addElement("1b"); //使用两种不同的方式添加元素 //下面的代码采用不同的方式显示对象信息, System.out.println("-------------------使用不同的方式进行显示-----------"); System.out.println("show"); show(v1); //使用Vector提供的方法遍历 System.out.println("show1"); show2(v1); //使用跌代进行遍历 System.out.println("show2"); show3(v1); //转换成数组进行遍历 //创建v2并添加对象 Vector v2 = new Vector(); v2.add("2a"); v2.add("2b"); //创建v并添加对象 Vector v = new Vector(); v.addAll(v1); //添加一个集合 System.out.println("-------------------添加一个集合后-----------"); show(v); //显示 v.addAll(1,v2); //在指定的位置添加集合 System.out.println("-------------------在1位置添加一个集合-----------"); show(v); v.add(3,"3a"); //在指定的位置添加元素 System.out.println("-------------------在3位置添加一个元素-----------"); show(v); System.out.println("当前容量:"+v.capacity()+" 当前元素个数:"+v.size()); v.set(3,"4d"); //修改指定位置的元素 System.out.println("-------------------修改3位置为4d-----------"); show(v); v.setElementAt("4e",3); //修改指定位置的元素 System.out.println("-------------------修改3位置为4e-----------"); show(v); v.add("4e"); System.out.println("-------------------添加4e后-----------"); show(v); int f1 = v.indexOf("4e"); //查找4e第一次出现的位置 int l1 = v.lastIndexOf("4e"); //查找4e最后一次出现的位置 int f2 = v.indexOf("4e",4); //从4开始4e第一次出现的位置 int l2 = v.lastIndexOf("4e",4); //4之前4e最后一次出现的位置 System.out.println("4e第一次出现的位置:"+f1+" 从4开始4e第一次出现的位置" +f2+" 4e最后一次出现的位置:" +l1+" 4之前4e最后一次出现的位置"+l2); String temp = (String)v.firstElement(); System.out.println("第一个元素:"+temp); temp = (String)v.lastElement(); System.out.println("最后一个元素:"+temp); v.remove(2); //删除指定位置的元素 System.out.println("-------------------在2位置删除一个元素-----------"); show(v); boolean bt = v.contains("2a"); //判断是否包含2a System.out.println("是否包含2a:"+bt); System.out.print("V1元素:"); show(v1); bt = v.containsAll(v1); //判盘是否包含v1 System.out.println("是否包含v1:"+bt); System.out.print("V2元素:"); show(v2); bt = v.containsAll(v2); //判断是否包含v2 System.out.println("是否包含v2:"+bt); v.remove("3a"); //删除某个特定的元素 System.out.println("-------------------删除元素3a-----------"); show(v); v.removeElement("1b"); System.out.println("-------------------删除元素1b-----------"); show(v); v.removeElementAt(0); System.out.println("-------------------删除0位置元素-----------"); show(v); bt = v.isEmpty(); System.out.println("是否为空:"+bt); v.clear(); System.out.println("-------------------清空后-----------"); show(v); bt = v.isEmpty(); System.out.println("是否为空:"+bt); } public void show(Vector v) { StringBuffer sb = new StringBuffer("elements:"); for(int i=0;i<v.size();i++) //通过获取每一个元素来遍历 { if(i%2==0) sb.append((String)v.elementAt(i)); //通过elementAt(i)获取元素 else sb.append((String)v.get(i)); //通过get(i)获取元素 sb.append(" "); } System.out.println(sb.toString()); } public void show2(Vector v) { StringBuffer sb = new StringBuffer("elements:"); //通过跌代进行遍历 ListIterator li = v.listIterator(); while(li.hasNext()) { sb.append((String)(li.next())); sb.append(" "); } System.out.println(sb.toString()); } public void show3(Vector v) { StringBuffer sb = new StringBuffer("elements:"); //先转换成数组,然后对数组进行遍历 Object o[] = v.toArray(); for(int i=0;i<o.length;i++) { sb.append((String)o[i]); sb.append(" "); } System.out.println(sb.toString()); }}运行的结果如下:-------------------使用不同的方式进行显示-----------showelements:1a 1b show1elements:1a 1b show2elements:1a 1b -------------------添加一个集合后-----------elements:1a 1b -------------------在1位置添加一个集合-----------elements:1a 2a 2b 1b -------------------在3位置添加一个元素-----------elements:1a 2a 2b 3a 1b 当前容量:10 当前元素个数:5-------------------修改3位置为4d-----------elements:1a 2a 2b 4d 1b -------------------修改3位置为4e-----------elements:1a 2a 2b 4e 1b -------------------添加4e后-----------elements:1a 2a 2b 4e 1b 4e 4e第一次出现的位置:3 从4开始4e第一次出现的位置5 4e最后一次出现的位置:5 4之前4e最后一次出现的位置3第一个元素:1a最后一个元素:4e-------------------在2位置删除一个元素-----------elements:1a 2a 4e 1b 4e 是否包含2a:trueV1元素:elements:1a 1b 是否包含v1:trueV2元素:elements:2a 2b 是否包含v2:false-------------------删除元素3a-----------elements:1a 2a 4e 1b 4e -------------------删除元素1b-----------elements:1a 2a 4e 4e -------------------删除0位置元素-----------elements:2a 4e 4e 是否为空:false-------------------清空后-----------elements:是否为空:true
本文来自博客,转载请标明出处:http://blog.csdn.net/JavaEETeacher/archive/2007/03/19/1533732.aspx