JavaOOP第02章深入集合框架(上).ppt_第1页
JavaOOP第02章深入集合框架(上).ppt_第2页
JavaOOP第02章深入集合框架(上).ppt_第3页
JavaOOP第02章深入集合框架(上).ppt_第4页
JavaOOP第02章深入集合框架(上).ppt_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、深入集合框架(上),Java高级编程 第二章,课程目标,理解集合 了解集合的体系结构 使用ArrayList 编写自己的ArrayList,理解集合,集合是一个保存其他对象的对象,更准确的说,集合是一种存储机制,可以添加和删除元素以及访问甚至更新元素的值。,集合的体系结构,Collection接口,Collection接口除了实现映射的集合类之外的所有集合类定义了一些方法。这个接口不会引用项目在集合中可能存在的任何顺序。,Collection接口中的方法,List接口,List集合类型描述了一种按位置存储数据的对象,第一个元素位于位置0,第二个位于是,依此类推,最后一个元素位置位于n-1(si

2、ze()-1),List常用方法,List常用方法,List接口的实现,List接口的实现类有:ArrayList和LinkedList 这两种数据结构提供相同的基于索引的方法 这两种数据类型运行时间和效率大不相同,ArrayList集合特性(1),是一种在内存连续区域 中存储数据的通用数组,底层的存储是一个允许直接访问的数组 动态增长,以满足应用程序的需要,ArrayList集合特性(2),一种能够在尾部动态增长以满足应用程序需求的通用数组。在列表尾部插入或删除非常有效,但是在ArrayList之内的这些操作并不十分有效。,为什么在ArrayList之内操作插入删除数据不是很有效?,使用Ar

3、rayList,注册登记员保管的毕业清单含有大四毕业生的姓名及其获得的学位BS或BA,并且按照毕业生的字母顺序排列。在毕业典礼上,首先向获得BS学位的学生颁发毕业证书。随后再向获得BA学位的学生颁毕业证书。这个程序从文件gradlist.dat中读取注册登记员保管的毕业清单,该清单由多行数据组成,每一行数据都含有制表符分隔的学生姓名及其获得的学位。应用程序在ArrayList集合中插入由姓名和学位组成的串,其中获得BS学位的毕业生信息被插入ArrayList集合diplomaList中,获得BA学位的毕业生信息被插入ArrayList集合baList,通过将baList添加到diplomaLi

4、st的末尾来连接两个列表,最后输出连接后的列表,实现ArrayList(1),ArrayList的设计,ArrayList对象使用一个指定类型的私有数组listArr来存储元素,它的大小表示存储ArrayList元素的可用存储量,私有的整数变量listSize维护ArrayList中实际元素数。,实现ArrayList(2),准备更大的容量,方法ensureCapacity()是ArrayList类的实现中的一个重要操作,它提供了允许ArrayList对象进行动态增长的存储管理空间。,实现ArrayList(3),添加和删除的方法,基于索引的add(),remove()方法以及get()和set()方法需要一个索引的实参,这个索引的实参必须位于使操作有效的特定范围之内。所以需要一个rangeCheck()来验证指定索引是否位于指定的范围之内 。 接着再来实现add(),add(index,item ),add(item) ,remove()方法,remove(index)方法,remove(item)方法,实现ArrayList(4),实现索引访问,实现get()和set()方法,总结,集合是一个保存其他对象的对象 Collection接口除了实现映射

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论