- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Vector是java.util包的类,他的功能是实现了一个动态增长的数组,像其他数组一样,此向量数组可以为每个包含的元素分配一下整数索引号。但是,向量不同于数组,它的长度可以在创建以后根据实际包含的元素个数增加或减少。
向量对象是通过capacity(容量)和capacityIncrement(增长幅度)两个因素来实现存储优化管理。容量因素的值总是大于向量的长度,因为当元素被添加到向量中,向量存储长度的增加是以增长幅度因素指定的值来增加的,应用程序可以在插入大量元素前,先根据需要增加适量的向量容量,这样,可以避免增加多余的存储空间。
Vector有三个构造函数
public Vector(int initialCapacity,int capacityIncrement)
public Vector(int initialCapacity)
public Vector()
这三个构造函数的差别仅仅在于对向量的初始容量和增长幅度的定义不同。向量的增长过程是当前容量不能满足添加的元素时,就按照构造时给定的增长幅度来增加,如果未定义增长幅度,则每次增加的时候会成倍增加。例如:
Vector t=new Vetor(4,0);
for(int i=0;i20;i++)
t.addElement(new String(ab));
那么实际运行后,t的容量是4*2*2*2=32,
如果改写成
Vector t=new Vetor(4,3);
for(int i=0;i20;i++)
t.addElement(new String(ab));
那么实际运行后,t的容量是4+3+3+3+3+3+3=22,
如果改写成
Vector t=new Vetor(4,10);
for(int i=0;i20;i++)
t.addElement(new String(ab));
那么实际运行后,t的容量是4+10+10=24,
如果写成
Vector t=new Vetor();
for(int i=0;i20;i++)
t.addElement(new String(ab));
则运行后t的容量是20。用下面的方法测试看出,用默认的不带参数的构造函数,初始容量是10,以后每次翻倍,这样容易造成空间的浪费,因此,建议不采用这种构造函数。
import java.util.*;
public class vector_demo{
public static void main(String[] args){
//Vector t=new Vector(4,10);
Vector t=new Vector();
System.out.println(t.capacity());
for(int i=0;i20;i++)
t.addElement(new String(ab));
System.out.println(t);
System.out.println(t.capacity());
}
}
Vector类有很多方法,常用的有:
void addElement(Object o)将指定的元素插入到Vector对象的末尾处int capacity()返回Vector对象的元素数或容量boolean contains(Object o)如果Vector对象包含指定对象,返回truevoid copyInto(Object[] arr)将Vector的元素复制到指定数组中Object elementAt(int index)检索位于指定索引处的元素Object firstElement()返回Vector中的第一个元素int indexOf(Object objelm)搜索Vector对象并返回第一个匹配对象的索引Object lastElement()返回Vector中最后一个元素void removeAllelements()从Vector对象中删除所有元素void insetElementAt(Object obj,int index)将元素添加到Vector对象中index指定的位置String toString()返回表示Vector内容的格式化字符串void setSize(int size)根据size的值设置Vector对象的大小
Vector实际上就是一种特殊的数组,由于它的通用性,它的元素都是Object类,所以对Vector的元素增加或者读取都要进行类型转换。如:
Vector t=new Vector();
t.addElement(new String(vector));
system.out.println((String)
原创力文档


文档评论(0)