版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
java中的静态数组与动态数组计算机术语01简介注意事项系统特点目录0302基本信息我们学习的数组都是静态数组,其实在很多的时候,静态数组根本不能满足我们编程的实际需要,比方说我需要在程序运行过程中动态的向数组中添加数据,这时我们的静态数组大小是固定的,显然就不能添加数据,要动态添加数据必须要用到动态数组,动态数组中的各个元素类型也是一致的,不过这种类型已经是用一个非常大的类型来揽括—t类型。简介简介t类是JAVA.LANG包中的顶层超类。所有的类型都可以与t类型兼容,所以我们可以将任何t类型添加至属于t类型的数组中,能添加t类型的的集合有ArrayList、Vector及LinkedList,它们对数据的存放形式仿造于数组,属于集合类。系统特点特点一、容量扩充性特点三、数据操作效率特点二、同步性系统特点特点一、容量扩充性从内部实现机制来讲ArrayList和Vector都是使用的数组形式来存储的。当你向这两种类型中增加元素的时候,如果元素的数目超出了内部数组目前的长度它们都需要扩展内部数组的长度,Vector缺省情况下自动增长原来一倍的数组长度,ArrayList是原来的50%,所以最后你获得的这个集合所占的空间总是比你实际需要的要大。所以如果你要在集合中保存大量的数据那么使用Vector有一些优势,因为你可以通过设置集合的初始化大小来避免不必要的资源开销。特点二、同步性ArrayList,LinkedList是不同步的,而Vector是的。所以如果要求线程安全的话,可以使用ArrayList或LinkedList,可以节省为同步而耗费开销。但在多线程的情况下,有时候就不得不使用Vector了。当然,也可以通过一些办法包装ArrayList,LinkedList,使他们也达到同步,但效率可能会有所降低。特点三、数据操作效率ArrayList和Vector中,从指定的位置(用index)检索一个对象,或在集合的末尾插入、删除一个对象的时间是一样的,可表示为O(1)。但是,如果在集合的其他位置增加或移除元素那么花费的时间会呈线形增长:O(n-i),其中n代表集合中元素的个数,i代表元素增加或移除元素的索引位置。为什么会这样呢?以为在进行上述操作的时候集合中第i和第i个元素之后的所有元素都要执行(n-i)个对象的位移操作。注意事项注意事项如果只是查找特定位置的元素或只在集合的末端增加、移除元素,那么使用Vector或ArrayList都可以。如果是对其它指定位置的插入、删除操作,最好选择LinkedListArrayList和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记录本项的前后项即可,所以插入数度较快。ArrayList和Vector中,从指定的位置(用index)检索一个对象,或在集合的末尾插入、删除一个对象的时间是一样的,可表示为O(1)。但是,如果在集合的其他位置增加或移除元素那么花费的时间会呈线形增长:O(n-i),其中n代表集合中元素的个数,i代表元
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年四川省遂宁市政务服务中心(窗口人员)招聘笔试参考试题及答案详解
- 2026年河北大学文学院公开招聘管理助理和教学助理2人笔试备考试题及答案详解
- 2026年营口市鲅鱼圈区工会人员招聘笔试模拟试题及答案详解
- 2026浙江温州人才公司招聘综合体、水电管理员1人考试备考试题及答案详解
- 2026年辽宁省盘锦市工会人员招聘考试备考试题及答案详解
- 2026年山东省枣庄市政务服务中心(窗口人员)招聘笔试模拟试题及答案详解
- 2026年齐齐哈尔市梅里斯达斡尔族区医疗系统事业编人员招聘笔试参考题库及答案详解
- 2026年洛阳市洛龙区医疗系统事业编人员招聘笔试备考试题及答案详解
- 2026年广东省医疗系统事业编人员招聘笔试参考试题及答案详解
- 2026年桂林市秀峰区政务服务中心(窗口人员)招聘笔试备考试题及答案详解
- 2025至2030年贵州省煤层气产业投资分析及前景预测报告
- (高清版)DB11∕T2250-2024重点用能单位能耗在线监测系统接入技术规范
- DB33T 2113-2018 公路沥青路面超薄磨耗层施工技术规范
- 工厂汛期防汛应急预案
- 智能安防行业发展建议
- 2024山东高考英语完形填空联考模拟试题汇编(含答案详解)
- 工程振动试验分析(教材)
- 洗涤公司车间管理制度
- 器械辨认及用途课件
- GA/T 1105-2013信息安全技术终端接入控制产品安全技术要求
- FZ/T 01116-2012纺织品磁性能的检测和评价
评论
0/150
提交评论