A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 朱元强 黑马帝   /  2011-9-29 11:59  /  2246 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我想问的:

     Vector 类的对象与数组有什么关系.. 希望得到比较犀利的解析.比DOM树, SAX还强大的解析

:hug:

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

6 个回复

倒序浏览
黑马网友  发表于 2011-9-29 12:03:47
沙发

回复 楼主 的帖子

Vector 类可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是,Vector 的大小可以根据需要增大或缩小,以适应创建 Vector 后进行添加或移除项的操作。

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-29 12:44:01
藤椅
Vector 类用于保存一系列对象,由于java不支持动态数组,Vector 类提供了一种与动态数组相似的功能,如果要将若干对象保存在一种数据结构中,但又不能预先确定要保存的对象的数目时,Vector 类是一种不错的选择

-----张老师的原话

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-29 12:57:25
板凳
Array是非类型化、稀疏数组: 所有元素类型并不要求相同,也不要求每个元素都有值,系统会添加默认空元素。
//未初始化数组元素个数
var arrA:Array=new Array();
arrA[0]=0;
arrA[9]=9;
trace(arrA);//输出:0,,,,,,,,,9
trace(arrA[1]);//输出:undefined

//初始化数组元素个数为11
var arrB:Array=new Array(11);
arrB[0]=0;
arrB[9]=9;
trace(arrB);//输出:0,,,,,,,,,9,
trace(arrB[1]);//输出:undefined
[b]Vector是类型化、密集型数组[/b]:
//未初始化数组元素个数
var vectorA:Vector.<int>=new Vector.<int>();
vectorA[0]=0;
vectorA[9]=9;
trace(vectorA);//RangeError: Error #1125: 索引 9 超出范围 1。
trace(vectorA[1]);

//初始化数组元素个数为10
var vectorB:Vector.<int>=new Vector.<int>(10);
vectorB[0]=100;
vectorB[9]=9;
trace(vectorB);//输出:100,0,0,0,0,0,0,0,0,9
trace(vectorB[1]);//输出:0

//初始化数组元素个数为11
var vectorC:Vector.<int>=new Vector.<int>(11);
vectorC[0]=100;
vectorC[9]=9;
trace(vectorC);//输出:100,0,0,0,0,0,0,0,0,9,0
trace(vectorC[1]);//输出:0

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-29 13:01:33
报纸

Vector的底层数据结构,以及被淘汰原因。

1.Vector的底层数据结构是用数组实现的.是个集合类,这个集合只能只能存储对象,和数组相比较而言,vector的优势在于它是可变长度的,当其默认的长度被占满后,其会自动延长50%。Vector对象有自己的迭代器Enumeration类 。
      2《拓展》.在jdk1.5以后其差不多已经被Arraylist所淘汰,原因在于Verctor原来是考虑多线程并发时而引发的安全问题,影响了对象的操作效率,后来发现这些安全问题几乎是没有必要的,所以被舍弃。相比较而言的话,用Arraylist的数据操作效率会很快,所以被Arraylist所淘汰。

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-29 14:15:14
地板
Vector 类可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是,Vector 的大小可以根据需要增大或缩小,以适应创建 Vector 后进行添加或移除项的操作。
回复 使用道具 举报
黑马网友  发表于 2011-9-29 14:28:46
7#

Vector 类

Vector 类为什么被淘汰了,就是因为它是线程同步的 也就是说效率不高,软件要求的不就是效率和美观相结合吗
每一个被淘汰的知识点 大多数是因为他的效率不高所造成的! 这就是sun公司一直追求的目标!
既然有了ArrayList效率比Vector高,那么它的存在就没有什么意义了 但个人感觉不是完全别淘汰 ,肯定还有它的价值所在!  只是我们平时需求没设计到而已!
Vector和arraylist在实现自增长的方式是不一样的!

这个知识点 在笔试中很常见!

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马