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

下载本文档

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

文档简介

深入集合框架(上)深入集合框架(上) Java高级编程 第二章 课程目标课程目标 理解集合 了解集合的体系结构 使用ArrayList 编写自己的ArrayList 理解集合 集合是一个保存其他对象的对象,更准确的说, 集合是一种存储机制,可以添加和删除元素以及 访问甚至更新元素的值。 集合的体系结构 Collection接口 Collection接口除了实现映射的集合类之外的所有集合类定 义了一些方法。这个接口不会引用项目在集合中可能存在 的任何顺序。 Collection接口中的方法 booleanadd(E o) 确保此 collection 包含指定的元素(可选操作)。 void clear() 移除此 collection 中的所有元素(可选操作)。 boolean contains(Object o) 如果此 collection 包含指定的元素,则返回 true。 boolean isEmpty() 如果此 collection 不包含元素,则返回 true。 Iterator iterator() 返回在此 collection 的元素上进行迭代的迭代器。 boolean remove(Object o) 从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。 int size() 返回此 collection 中的元素数。 Object toArray() 返回包含此 collection 中所有元素的数组。 List接口 List集合类型描述了一种按位置存储数据的对象 ,第一个元素位于位置0,第二个位于是,依此类 推,最后一个元素位置位于n-1(size()-1) List常用方法 boolean add(E o) 向列表的尾部追加指定的元素(可选操作)。 void add(int index, E element) 在列表的指定位置插入指定元素(可选操作)。 比较指定的对象与列表是否相等。 E get(int index) 返回列表中指定位置的元素。 int indexOf(Object o) 返回列表中首次出现指定元素的索引,如果列表不包含此元素,则返回 -1。 Iterator iterator() 返回以正确顺序在列表的元素上进行迭代的迭代器。 int lastIndexOf(Object o) 返回列表中最后出现指定元素的索引,如果列表不包含此元素,则返回 -1。 List常用方法 ListIte rator listIterator() 返回列表中元素的列表迭代器(以正确的顺序)。 ListIte rator listIterator(int index) 返回列表中元素的列表迭代器(以正确的顺序),从列表的指 定位置开始。 E remove(int index) 移除列表中指定位置的元素(可选操作)。 E set(int index, E element) 用指定元素替换列表中指定位置的元素(可选操作)。 int size() 返回列表中的元素数。 List接口的实现 List接口的实现类有:ArrayList和LinkedList 这两种数据结构提供相同的基于索引的方法 这两种数据类型运行时间和效率大不相同 ArrayListArrayList集合特性(集合特性(1 1) 是一种在内存连续区域 中存储数据的通用 数组,底层的存储是一个允许直接访问的数 组 动态增长,以满足应用程序的需要 ArrayListArrayList集合特性(集合特性(2 2) 一种能够在尾部动态增长以满足应用程序需求的 通用数组。在列表尾部插入或删除非常有效,但 是在ArrayList之内的这些操作并不十分有效。 为什么在ArrayList之内操作插入删除数据不是很有效? 使用ArrayList 注册登记员保管的毕业清单含有大四毕业生的姓名及其 获得的学位BS或BA,并且按照毕业生的字母顺序排列。 在毕业典礼上,首先向获得BS学位的学生颁发毕业证书 。随后再向获得BA学位的学生颁毕业证书。这个程序从 文件gradlist.dat中读取注册登记员保管的毕业清单,该 清单由多行数据组成,每一行数据都含有制表符分隔的 学生姓名及其获得的学位。应用程序在ArrayList集合中 插入由姓名和学位组成的串,其中获得BS学位的毕业生 信息被插入ArrayList集合diplomaList中,获得BA学位的 毕业生信息被插入ArrayList集合baList,通过将baList添加 到diplomaList的末尾来连接两个列表,最后输出连接后 的列表 实现实现ArrayListArrayList(1 1) ArrayList的设计 ArrayList对象使用一个指定类型的私有数组listArr来存储元素,它的大小 表示存储ArrayList元素的可用存储量,私有的整数变量listSize维护 ArrayList中实际元素数。 实现实现ArrayListArrayList(2 2) 准备更大的容量 方法ensureCapacity()是ArrayList类的实现中的一个重要操作,它提供 了允许ArrayList对象进行动态增长的存储管理空间。 实现实现ArrayListArrayList(3 3) 添加和删除的方法 基于索引的add(),remove()方法以及get()和set()方法需要一个索引的实 参,这个索引的实参必须位于使操作有效的特定范围之内。所以需 要一个rangeCheck()来验证指定索引是否位于指定的范围之内 。 接着再来实现add(),add(index,item ),add(item) ,remove()方法 ,remove(index)方法,remove(item)方法 实现实现ArrayListArrayList(4 4) 实现索引访问

温馨提示

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

评论

0/150

提交评论