成人高考,自考,网络教育,在职研究生等学历教育
在线报名在线报名
培训课程培训课程
分站加盟分站加盟
培训学校培训学校
VIP服务VIP服务
复习指导复习指导
会员中心会员中心
论坛交流论坛交流
  • 首页
    • 首页
  • 学历教育
    • 学历教育
    • 成人高考
    • 自学考试
    • 网络教育
    • 在职研究生
    • 中专中技
    • 高考招生
  • 职业培训
    • 职业培训
    • 公务员
    • 外语类
    • 财会类
    • 建筑类
    • 职业资格
    • 医药类
    • IT认证
    • 外贸类
    • 更多>>
  • 高考出国
    • 高考出国
  • 在线报名
    • 在线报名
  • 网络课堂
    • 网络课堂
  • 关于我们
    • 关于我们

 您的位置:真才教育 >> 职业培训 >> IT认证

Java中的静态数组与动态数组

【真才教育:中国教育考试第一门户】   模拟考场   视频课程   人气:

我们学习的数组都是静态数组,其实在很多的时候,静态数组根本不能满足我们编程的实际需要,比方说我需要在程序运行过程中动态的向数组中添加数据,这时我们的静态数组大小是固定的,显然就不能添加数据,要动态添加数据必须要用到动态数组,动态数组中的各个元素类型也是一致的,不过这种类型已经是用一个非常大的类型来揽括—Object类型。

    Object类是JAVA.LANG包中的顶层超类。所有的类型都可以与Object类型兼容,所以我们可以将任何Object类型添加至属于 Object类型的数组中,能添加Object类型的的集合有ArrayList、Vector及LinkedList,它们对数据的存放形式仿造于数组,属于集合类,下面是他们的特点:

    特点一、容量扩充性

    从内部实现机制来讲ArrayList和Vector都是使用Objec的数组形式来存储的。当你向这两种类型中增加元素的时候,如果元素的数目超出了内部数组目前的长度它们都需要扩展内部数组的长度,Vector缺省情况下自动增长原来一倍的数组长度,ArrayList是原来的50%,所以最后你获得的这个集合所占的空间总是比你实际需要的要大。所以如果你要在集合中保存大量的数据那么使用 Vector有一些优势,因为你可以通过设置集合的初始化大小来避免不必要的资源开销。

    特点二、同步性

    ArrayList,LinkedList是不同步的,而Vestor是的。所以如果要求线程安全的话,可以使用ArrayList或LinkedList,可以节省为同步而耗费开销。但在多线程的情况下,有时候就不得不使用Vector了。当然,也可以通过一些办法包装ArrayList,LinkedList,使他们也达到同步,但效率可能会有所降低。

    特点三、数据操作效率

    ArrayList和Vector中,从指定的位置(用index)检索一个对象,或在集合的末尾插入、删除一个对象的时间是一样的,可表示为O(1)。但是,如果在集合的其他位置增加或移除元素那么花费的时间会呈线形增长:O(n-i),其中n代表集合中元素的个数,i代表元素增加或移除元素的索引位置。为什么会这样呢?以为在进行上述操作的时候集合中第i和第i个元素之后的所有元素都要执行(n-i)个对象的位移操作。

    LinkedList中,在插入、删除集合中任何位置的元素所花费的时间都是一样的—O(1),但它在索引一个元素的时候比较慢,为O(i),其中i是索引的位置。

    所以,如果只是查找特定位置的元素或只在集合的末端增加、移除元素,那么使用Vector或ArrayList都可以。如果是对其它指定位置的插入、删除操作,最好选择LinkedList

    ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记录本项的前后项即可,所以插入数度较快。

 

 

编辑/真才教育  bingyi>>>>>>查看更多文章

关键字:JAVA认证 考试

 

发布时间:2010.07.28    来源:教育网

【收藏此页】【大 中 小】【打印】【回到顶部】
上一篇文章:2010年成人高考专升本政治时事复习手册
下一篇文章:教育部公布中小学“减负”试点 力推素质教育
文章搜索:
最新资讯
  • ·[中专中技]教育部公布中小学“减负”试点 力推素质
  • ·[高考招生]内蒙古2011年高考艺术类招生实施办法公
  • ·[高考招生]西藏2011年艺术类专业招生12月月14日开
  • ·[中专中技]中考成绩提高必须坚持九大法则
  • ·[中专中技]沈阳市中考时间调整网上调查开始
  • ·[招生信息]2011年全国研考人数比2010年增11万
  • ·[在职研究生]深圳2011年考研人数又上新台阶
  • ·[成人高考]北京今年11万人参加成考 实考率达到九成
  • ·[网站推广技巧心得]如何快速提高网站的PR值
  • ·[网站推广技巧心得]什么是网站PR值
模拟题
成考
自考
中考
  • 2010年成考专升本政治时事复习手册
  • 成考复习:语文主观题要从原文中找答案
  • 成考专升本高数(一)模拟题及解析
  • 2010年成人高考高起点物理命题预测试题(2
  • 2010年成人高考高起点物理命题预测试题(3
  • 2010年成人高考高起点物理命题预测试题(4
  • 2010年成人高考高起点物理命题预测试题(5
  • 2010年成人高考高起点物理命题预测试题(6
  • 2010年成人高考高起点物理命题预测试题(7
  • 2010年成人高考高起点物理命题预测试题(8
  • 全国2009年10月高等教育自学考试办公自动
  • 生理学试题_全国2009年7月自考试卷
  • 全国2009年10月高等教育自学考试综合英语
  • 全国2009年7月高等教育自学考试综合英语(
  • 全国2009年7月高等教育自学考试大学语文试
  • 全国2006年4月高等教育自学考试新闻学概论
  • 全国2009年10月高等教育自学考试中国近现
  • 全国2009年1月自考学前比较教育试题
  • 2008年1月全国自学考试试题幼儿文学试卷
  • 全国2009年7月高等教育自学考试中国古代文
  • 银行从业资格考试公共基础试题
  • 银行从业资格考试公共基础试题
  • 南京一中三年级政治模拟练习I卷
  • 南京一中三年级政治模拟练习H卷
  • 南京一中三年级政治模拟练习G卷
  • 南京一中三年级政治模拟练习F卷
  • 南京一中三年级政治模拟练习E卷
  • 南京一中三年级政治模拟练习D卷
  • 南京一中三年级政治模拟练习C卷
  • 南京一中三年级历史模拟练习I卷
报考指南
更多..
  • 2010年成人高考各科目复习指南
  • 教育部通知,成考专升本报考严格审查考生学
  • 分析成人高考招生院校有3种不同类型
  • 成人高考新生答卷注意事项及应试守则
  • 决胜成人高考的七个鲜为人知的方法
  • 成考辅导班四类模式 考生可根据个人基础选
  • 法律类专业——法学专业介绍
  • 管理类专业——人力资源管理
  • 营销类的相关专业介绍
  • 2010年成人高考考试大纲沿用2007年考试大
信息推荐
  • ·[IT认证]2010年新版CCNP与旧版CCNP重大改动
  • ·[我的成考]广西专科退役士兵可免试上成考本科
  • ·[报考指南]2009年全国一级建造师考后试题答案
  • ·[院校动态]明达职业技术学院2010年招生章程
  • ·[高考动态]山东2010年高考生比2009年锐减4万人
  • ·[招生信息]河北工程大学2011年硕士研究生招生
  • ·[成考动态]首都联合职工大学国图分校古籍修复
  • ·[高考资讯]内蒙古2010年普通高考报名资格审查
  • ·[语文]2009年北京市成人高考高起点语文模
  • ·[自考资讯]2011年4月四川自考英语词汇学试卷结
  • 真才教育首页 | 报名须知 | 关于我们 | 成人高考 | 职业培训 | 高考出国 | 在线报名 | 联系我们 | 网站地图
    报名地址:广州市天河区中山大道西8号天河商贸大厦605   咨询报名电话:020-33747854   020-87515503   020-89736978 020-33781291
    传真:020-87515503   QQ:353886838   763563818   真才教育培训网会有专人为您服务
    粤ICP备09072464号