Vector的用法

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());   
 }
}
运行的结果如下:
-------------------使用不同的方式进行显示-----------
show
elements:1a 1b
show1
elements:1a 1b
show2
elements: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:true
V1元素:elements:1a 1b
是否包含v1:true
V2元素: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

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/JavaEETeacher/archive/2007/03/19/1533732.aspx

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值