9
向量Vector
Vector是一个类,功能类似数组,但存在以下区别
元素的个数可变元素的类型必须是引用类型
Vector对象中可以存放的元素个数称为向量的容量(capacity)Vector对象中实际元素的个数称为向量的长度(size)当长度超出容量时,向量对象的容量会自动扩大,一次扩大一个容量增量;容量增量为0时,容量扩大一倍。Vector类在java.util包中,使用时要引入(在类前面用importjava.util.Vector;)或用完整的名称。
10
向量变量的声明
声明格式:
Vector<向量元素的数据类型>变量名
例:
声明一个元素类型为字符串的向量变量vsVector
vs;下面的声明是错误的,因为int不是引用类型。Vectorvi;下面的声明被允许,但会出现编译警告Vectorvo;
11
向量的构造方法
创建初始容量为10,默认增量为0的向量对象:
newVector<元素类型>()
创建初始容量为initialCapacity,默认增量为0的向量对象:
newVector<元素类型>(intinitialCapacity)
创建初始容量为initialCapacity,默认增量为capacityInc的向量对象:
newVector<元素类型>(intinitialCapacity,intcapacityInc)
构造方法不指定元素类型会出现编译警告
12
声明向量变量并实例化向量对象的例子
变量vs引用一个元素类型为字符串的向量,其初始容量为10,默认增量为0:
Vectorvs=newVector();
变量vo引用一个没有指定元素类型的向量,其初始容量为16,默认增量为8:
Vectorvo=newVector(16,8);
13
对向量的主要操作
增加元素
将指定元素追加到此向量的末尾。booleanadd(Eo)
插入元素
在此向量的指定位置插入指定的元素,和数组一样index的取值从0开始。voidadd(intindex,Eelement)
修改元素
用指定的元素替换此向量中指定位置index处的元素。Eset(intindex,Eelement)
14
对向量的主要操作(续)
删除元素
移除此向量中指定位置的元素。Eremove(intindex)移除此向量中指定元素的第一个匹配项,如果向量不包含该元素,则元素保持不变。booleanremove(Objecto)从此向量中移除所有元素。voidclear()
15
对向量的主要操作(续)
查询
返回向量中指定位置的元素。Eget(intindex)判断指定的对象是否为此向量中的某个元素。booleancontains(Objectelem)返回此向量的第一个元素(位于索引0处的项)。EfirstElement()返回此向量的最后一个元素。ElastElement()
16
对向量的主要操作(续)
查询元素的位置索引返回给定参数的第一个匹配项的索引,使用equals方法测试相等性。没有匹配项则返回-1。intindexOf(Objectelem)返回给定参数的第一个匹配项的索引,从index处开始匹配,并使用equals方法测试其相等性。没有匹配项则返回-1intindexOf(Objectelem,intindex)返回指定的对象在此向量中最后一个匹配项的索引。没有匹配项则返回-1。intlastIndexOf(Objectelem)从后往前搜索指定的对象并返回其索引。从指定的索引处开始搜索。没有匹配项则返回-1。intlastIndexOf(Objectelem,intindex)