Vector是java.util包的类,他的功能是实现了一个动态增长的数组,像其他数组一样,此向量数组可以为每个包含的元素分配一下整数索引号,但是,向量不同于数组,它的长度可以在创建以后根据实际包含的元素个数增加或减少。
向
Vector是java.util包的类,他的功能是实现了一个动态增长的数组,像其他数组一样,此向量数组可以为每个包含的元素分配一下整数索引号,但是,向量不同于数组,它的长度可以在创建以后根据实际包含的元素个数增加或减少。
向量对象是通过capacity(容量)和capacityIncrement(增长幅度)两个因素来实现存储优化管理。容量因素的值总是大于向量的长度,因为当元素被添加到向量中,向量存储长度的增加是以增长幅度因素指定的值来增加的,应用程序可以在插入大量元素前,先根据需要增加适量的向量容量,这样,可以避免增加多余的存储空间。
以上是参考手册里对Vector的介绍,下面是我学习中的一些心得:
Vector有三个构造函数
public Vector(int initialCapacity,int capacityIncrement)
public Vector(int initialCapacity)
public Vector()
这三个构造函数的差别仅仅在于对向量的初始容量和增长幅度的定义上,向量的增长过程是当当前容易不能满足添加的元素时,就按照构造时给定的增长幅度来增加,如果未定义增长幅度,则每次增加的时候会成倍增加。举个例。
Vector t=new Vetor(4,0);
for(int i=0;i<20;i++)
t.addElement(new String("ft"));
那么实际运行后,t的容量是4*2*2*2=32,
如果改写成
Vector t=new Vetor(4,3);
for(int i=0;i<20;i++)
t.addElement(new String("ft"));
那么实际运行后,t的容量是4+3+3+3+3+3+3=22,
但如果写成
Vector t=new Vetor();
for(int i=0;i<20;i++)
t.addElement(new String("ft"));
则运行后t的容量是20,我测试过,好像用默认的构造函数,初始容量是10,以后每次翻倍,这样容易造成空间的浪费,因为建议不采用这种构造函数。
Vector类有很多方法,其实像常用的有addElement(),removeElementAt(int index),insertElementAt(Object obj,int index)等方法,这些方法从字面上就很容易理解,其实与数组的操作差不多。
Vector类的要点就在于对存储空间的操作,因为主要是讲一下下面的几个方法:
public void trimToSize()
该方法用于删除掉向量中大于向量当前长度的多余容量,应用程序通过使用此方法可以使向量容量刚好满足元素存储的最小需要。
public void ensureCapacity(int minCapacity)
该方法用于增加向量的容量,保证增加后的向量容量不小于给定的参数。对这个方法我作过测试,使用这个方法后向量容量增加的幅度与构造Vector类时的构造方法有关,如果构造函数时给定的向量增加幅度为0,那么使用这个方法后容量会成倍增长,如果构造函数时给定了不为0的向量增加幅度,那么使用这个方法后容量会以给定的幅度为单位增长。
public void setSize(int newSize)
该方法用于设置向量的长度,如果新设置的长度大于向量的当前长度,新增的内容为空的元素被添加到当前向量的尾部。如果新设置的长度小于向量当前的长度,索引值大于新设置长度的元素将被截取。
Vector实际上就是一种特殊的数组,由于他的通用性,他的元素都是Object类,所以对Vector的元素增加或者读取都要进行类型转换。如:
Vector t=new Vector();
t.addElement(new String("vector"));
system.out.println((String)t.elementAt(0));
t.addElement((Image)(pic));
g.drawImage((Image)(t.elementAt(1)),0,0,0);
分享到:
相关推荐
vector用法 vector用法 vector用法 vector用法
VC中vector用法
清华大学C++课件中vector用法实例
vector用法合集
C++数组vector用法.pdf
关于C++STL模板库Vector的基本操作函数的介绍与用法举例
c++ vector用法精讲(很精辟的,希望对大家有帮助
vector必看,讲了使用方法,注意事项,适合初学者
清华大学 很全面的vector用法 请大家指点
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放...
最全Vector用法总结.pdf
本文是一篇word文档,主要介绍了java中vector的用法,让一些初学者更加了解vector的用法。
动态数组vector用法[借鉴].pdf
本压缩包中包含了c++中vector的使用,共有多个文件
主要介绍了C++ Vector用法详解,vector是C++标准模版库(STL,Standard Template Library)中的部分内容,本文详细介绍了它的方方面面,需要的朋友可以参考下
vector vector 是 C++ 标准库中定义的一种动态数组,它可以自动管理内存并根据需要调整大小。它是一种非常有用的数据结构,用于...**构建项目:**尝试使用 vector 构建小型项目,例如学生成绩管理系统或简单的队列。
c++ vector用法 C++内置的数组支持容器的机制,但是它不支持容器抽象的语义。要解决此问题我们自己实现这样的类。在标准C++中,用容器向量(vector)实现。容器向量也是一个类模板。 标准库vector类型使用需要的...
1、 vector::at()2、 vector::operator[]operator[]主要是为了与C语言进行兼容 2、 iterator _Last:指向
Vector用法介绍 里面自己看 (这个网站太恶心了 还要20个字以上 对他无语)