1 / 11
文档名称:

【Java集合源码剖析】Vector源码剖析-编程开发技术.doc

格式:doc   大小:128KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

【Java集合源码剖析】Vector源码剖析-编程开发技术.doc

上传人:小博士 2019/7/29 文件大小:128 KB

下载得到文件列表

【Java集合源码剖析】Vector源码剖析-编程开发技术.doc

相关文档

文档介绍

文档介绍::..【Java集合源码剖析】Vcctoi•源码剖析-编程开发技术【Java集合源码剖析]Vector源码剖析原文出处:兰亭风雨Vector简介Vector也是基于数组实现的,是一个动态数组,其容量能自动增长。,它的很多实现方法都加入了同步语句,因此是线程安全的(其实也只是相对安全,有些吋候还是要加入同步语句来保证线程的安全),可以用于多线程环境。Vector没有丝线Serializable接口,因此它不支持序列化,实现了Cloncablc接口,能被克隆,ess接口,支持快速随机访问。Vector源码剖析Vector的源码如下(加入了比较详细的注释):packagejava,util;lassVector<E>extendsAbstractList<E>implementsList〈E>,ess,Cioneable,{//保存Vector中数据的数组protectedObject[]elementData;//实际数据的数量protectedintelementCount;//容量增长系数protectedintcapacityTncrement;//Vector的序列版本号privatestaticfinallongserialVersionUID=-27676056**********L;//Vector构造函数。默认容量是10。publicVector(){this(10);//tor(intinitialCapacity){this(initialCapacity,0);}//指定Vector"容量大小〃和〃壇长系数〃tor(intinitialCapacity,intcapacitylncrcment){super();if(initialcapacity<0)thrownewIIlegalArgumentException("IllegalCapacity:〃+initialCapacity);//新建一个数组,=newObject[initialCapacity];〃;}//指定集合的Vector构造函数。publicVector(Collection<?extendsE>c){//获取“集合(c)”的数组,;//;//(incorrectly)notreturnObject[](see6260652)if(()!二Object[].class)elementDota=(elementDota,elernentCount,Object[].class);//将数组Vector的全部元素都拷贝到数组anArray屮publicsynchronizedvoidcopyTnto(Object]]anArray){S^^(tData,0,emArray,0,tCount);}//将当前容量值设为二实际元素个数publicsynchronizedvoidtrimToSize(){modCount++;intoldCapacity=;if(elementCount<oldCapacity){(elementData,elementCount);//确认“Vector容量”apacityHelper(intminCapacity){intoldCapacity=;//当Vector的容量不足以容纳当前的全部元素,增加容量大小。//若容量增量系数>0(即capacityIncrement>0),则将容量增大当capacityTncrement//否则,将容量增大一倍。if(minCapacity>oldCapacity){Object[]oldData=elementData;intnewCapacity二(capacityIncrement>0)?(oldCapacity+capacitylncrement):(oldCapacity*2);if(ncwCapacity〈minCapacity){newCapacity=minCapacity;}elemen