新的一天,新的知识;
和C语言一样,java中的数组只能保存固定数目的元素,且必须把所有需要的内存单元一次性申请出来。
而不能创建数组再追加数组元素数量。为了解决这个问题,Java中引入了向量类Vector。
一、
首先Vector类有三种构造方法:
1.
Vector v1=new Vector();//构造一个空向量;
2
Vector v2=new Vector(100);//指定初始存储量100
3
Vector v3=new Vector(100,50);//指定初始存储量100和容量增量50
二、元素添加
1.addElement(Object obj);
例
v1.addElement("this");//添加到尾部;
2.nsertElementAt(Object obj, int index);
例
v1.insertElementAt("that", 1);//指定位置添加;
三、元素修改
setElementAt(Object obj,int index)
//指定位置修改元素;
例
v1.setElementAt("This",0);
四、元素删除
1.removeElement(Object obj)
//该方法将删除向量序列中的第一个与指定的obj对象相同的元素,同时将后面所有的元素前移一个位置,补上位置,该方法返回一个布尔值;
例
v1.removeElement("This");
2,removeElementAt(int index);
//该方法在指定位置删除一个元素;
例
v1.removeElementAt(1);
3,removeAllElements();
//该方法删除向量全部元素;
例
v1.removeAllElements();
五、元素查找
1,Object elementAt(int index);
//返回一个指定位置的元素,不过这个元素是一个Object类型的对象,在使用之前要进行强制类型转换;
例
String str=(String) v1.elementAt(0);
2,boolean contains(Object obj)
//该方法检查向量序列中是否包含obj这个对象;
例
System.out.println(v1.contains("This"));
3,int indexOf(Objectobj);
//该方法返回obj在序列中的下标;
例
System.out.println(v1.indexOf("This"));
当然了,关于Vector向量一定还会有其他方法,这里只是列举了一些常用的,感兴趣的可以继续查阅资料;
##最后在说一下如何引入泛型;
因为我们在从向量中拿元素的时候会发现,我拿出来的都是Object类的对象,如果我要使用,我每次都要进行强转;
如果我存入向量的元素都是一个类型的话,这个时候我们就可以引入泛型!
举个例子;
如果我们正常写的查询数据的时候
Vector v1=new Vector();
v1.addElement("this");
String str=(String) v1.elementAt(0);
我们要把拿到的元素强转成String类型后才能使用
如果我们引入了泛型;
就可以这样写;
Vector <String>v1=new Vector();
v1.addElement("this");
String str=v1.elementAt(0);
这里我们默认了v1这个向量序列里面只有String类型的对象;
所以就不需要每次使用里面的数据都要进行强转了!