`
lixucheng
  • 浏览: 80309 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

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第一次出现的位置54e最后一次出现的位置:54之前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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics