【java集合源码剖析】vector源码剖析-编程开发技术

【java集合源码剖析】vector源码剖析-编程开发技术

ID:30774603

大小:128.50 KB

页数:11页

时间:2019-01-03

【java集合源码剖析】vector源码剖析-编程开发技术_第1页
【java集合源码剖析】vector源码剖析-编程开发技术_第2页
【java集合源码剖析】vector源码剖析-编程开发技术_第3页
【java集合源码剖析】vector源码剖析-编程开发技术_第4页
【java集合源码剖析】vector源码剖析-编程开发技术_第5页
资源描述:

《【java集合源码剖析】vector源码剖析-编程开发技术》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、【Java集合源码剖析】Vcctoi•源码剖析-编程开发技术【Java集合源码剖析]Vector源码剖析原文出处:兰亭风雨Vector简介Vector也是基于数组实现的,是一个动态数组,其容量能自动增长。Vector是JDK1.0引入了,它的很多实现方法都加入了同步语句,因此是线程安全的(其实也只是相对安全,有些吋候还是要加入同步语句来保证线程的安全),可以用于多线程环境。Vector没有丝线Serializable接口,因此它不支持序列化,实现了Cloncablc接口,能被克隆,实现了RandomAccess接口,支持快速随机访问。

2、Vector源码剖析Vector的源码如下(加入了比较详细的注释):packagejava,util;publicclassVectorextendsAbstractListimplementsList〈E>,RandomAccess,Cioneable,java.io.Serializable{//保存Vector中数据的数组protectedObject[]elementData;//实际数据的数量protectedintelementCount;//容量增长系数protectedintcapacityTncremen

3、t;//Vector的序列版本号privatestaticfinallongserialVersionUID=-2767605614048989439L;//Vector构造函数。默认容量是10。publicVector(){this(10);//指定Vector容量大小的构造函数publicVcctor(intinitialCapacity){this(initialCapacity,0);}//指定Vector"容量大小〃和〃壇长系数〃的构造函数publicVcctor(intinitialCapacity,intcapacity

4、lncrcment){super();if(initialcapacity<0)thrownewIIlegalArgumentException("IllegalCapacity:〃+initialCapacity);//新建一个数组,数组容量是initialCapacitythis.elementData=newObject[initialCapacity];〃设置容量增长系数this.capacityIncrement二capacityIncrement;}//指定集合的Vector构造函数。publicVector(Collec

5、tionc){//获取“集合(c)”的数组,并将其赋值给elementDataelementData二c.toArrayO;//设置数组长度clementCount二clemcntData.length;//c.toArraymight(incorrectly)notreturnObject[](see6260652)if(elementData.getClass()!二Object[].class)elementDota=Arrays.copyOf(elementDota,elernentCount,Objec

6、t[].class);//将数组Vector的全部元素都拷贝到数组anArray屮publicsynchronizedvoidcopyTnto(Object]]anArray){S^^stcm.arraycopy(clemcntData,0,emArray,0,clemcntCount);}//将当前容量值设为二实际元素个数publicsynchronizedvoidtrimToSize(){modCount++;intoldCapacity=elementData.length;if(elementCount

7、){elementData二Arrays.copyOf(elementData,elementCount);//确认“Vector容量”的帮助函数privatevoidcnsurcCapacityHelper(intminCapacity){intoldCapacity=elementData.length;//当Vector的容量不足以容纳当前的全部元素,增加容量大小。//若容量增量系数>0(即capacityIncrement>0),则将容量增大当capacityTncrement//否则,将容量增大一倍。if(minCapaci

8、ty>oldCapacity){Object[]oldData=elementData;intnewCapacity二(capacityIncrement>0)?(oldCapacity+capacitylncremen

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。