Vector的用法

    技术2025-04-11  25

    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

    最新回复(0)