ImageVerifierCode 换一换
格式:PPT , 页数:19 ,大小:558KB ,
资源ID:347738      下载积分:100 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-347738.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(面向对象程序设计-北京科技大学天津学院教务处.ppt)为本站会员(ga****84)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

面向对象程序设计-北京科技大学天津学院教务处.ppt

1、第8讲 对象的管理(下),面 向 对 象 程 序 设 计,北京科技大学天津学院 信息工程系,2,回顾,对象数组Arrays类的使用sort排序实现Comparable接口,北京科技大学天津学院 信息工程系,3,对象数组问题,对象数组的元素个素是固定的,不适用于增加和删除操作。增加元素的数量是未知的;删除元素后,移动元素位置效率很低。当对象数组内尚有元素为null时,使用Arrays类对其进行sort排序,会报空指针异常。根本原因为对象数组的元素个数不可变。,北京科技大学天津学院 信息工程系,4,本节主要内容,java.util包List集合:ArrayList、LinkedList、Vecto

2、rSet集合:HashSet、TreeSetMap集合:HashMap、TreeMapJava新特性泛型,北京科技大学天津学院 信息工程系,5,两个集合框架,Collection集合框架Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素。Map集合框架Map提供key到value的映射。 Map中的元素是键值成对的对象。一个Map中不能包含相同的key,每个key只能映射一个value。,北京科技大学天津学院 信息工程系,6,集合框架,北京科技大学天津学院 信息工程系,7,List集合,List是有序的Collection;使用索

3、引(类似于数组下标)来访问List中的元素;List允许有相同的元素。实现List接口的常用类有LinkedList、ArrayList、Vector和Stack。 List接口常用方法有:list.add( ):添加数据。list.remove( ):删除数据。list.removeAll( ):删除所有数据。list.retainAll( ):保留交集。list.subList(size1, size2):返回size1到size2之间的数据。,北京科技大学天津学院 信息工程系,8,ArrayList,ArrayList 对象是长度可变的对象引用数组,类似于动态数组。随着元素的添加,元素的

4、数目会增加,列表也会随着扩展。访问和遍历对象时,它提供更好的性能。常用方法有:boolean add(Object obj):将指定的元素追加到列表的尾部。Object get(int index):返回列表中指定位置的元素。int size( ):返回列表中的元素数。 int indexOf(Object obj):搜索给定对象第一次出现的位置。int lastIndexOf(Object obj):返回指定对象在列表中最后一次出现的位置。boolean remove(int index):移除列表中指定位置上的元素。,北京科技大学天津学院 信息工程系,9,LinkedList,Linked

5、List提供额外的addLast、addFirst、removeFirst、removeLast等方法。这些操作使LinkedList可被用作堆栈(stack)、队列(queue)或双向队列(deque)。,new Student(“003”);,new Student(“002”);,new Student(“001”);,001,002,003,进栈,出栈,入队,出队,北京科技大学天津学院 信息工程系,10,Iterator迭代器,所有Collection类型的实现类都支持一个iterator( )的方法,该方法返回一个迭代器,使用该迭代器即可逐一遍历访问Collection中每一个元素。

6、用法如下:Iterator it = collection.iterator( ); /获得一个迭代器while(it.hasNext( ) Object obj = it.next( ); /得到下一个元素,北京科技大学天津学院 信息工程系,11,Set集合,Set是一种不包含重复的元素的Collection,即任意的两个元素e1和e2都有e1.equals(e2) = false,Set最多有一个null元素。Set接口不保证维护元素的顺序。实现Set接口的常用类有HashSet和TreeSet。,北京科技大学天津学院 信息工程系,12,HashSet,HashSet集合里面存放的对象是没

7、有特定次序的。元素不能重复,例如: Set set=new HashSet( ); String s1=new String(hello); String s2=new String(hello); set.add(s1); set.add(s2);虽然变量s1和s2实际上引用的是两个内存地址不同的字符串对象,但是由于s2.equals(s1)的比较结果为true,因此Set认为它们是相等的对象,当第二次调用add方法时,add方法不会把s2引用的字符串对象加入到集合中。,北京科技大学天津学院 信息工程系,13,TreeSet,TreeSet是保持特定次序的Set,具有排序功能。 Set se

8、t = new TreeSet ( );set.add(justin);set.add(car);set.add(minor);set.add(justin);Iterator iterator = set.iterator( );while(iterator.hasNext( ) System.out.print(iterator.next( ) + ); 程序运行结果:car justin minor由于集合中是String类型元素,输出结果依据Unicode编码自动排序。,北京科技大学天津学院 信息工程系,14,Map集合,Map提供key到value的映射,每个key映射一个value

9、 。一个Map中不能包含相同的key,但对应的value对象可以重复。Map中的元素是键值成对的对象,像个小型数据库,最典型的应用就是数据字典。 Map有两种比较常用的实现:HashMap和TreeMap。,北京科技大学天津学院 信息工程系,15,HashMap,在各种Map中,HashMap用于快速查找。集合中的每一个元素对象包含一对键和值,集合中没有重复的键,但值对象可以重复。例如如下程序语句: Map map=new HashMap( ); map.put(1, Mon); map.put(1, Monday); map.put(2, Monday);由于第一次和第二次加入到Map中的键

10、都是1,所以第一次加入的值将被覆盖,而第二个和第三个的值虽然相同,但是键不一样,所以分配不同的地址空间,不会发生覆盖,也就是说一共有两个元素在map这个Map类型集合中。 因为Map的键不可能重复,所以可以用Set数据结构来存储;而Map的值有可能重复,所以要用Collection来存储。,北京科技大学天津学院 信息工程系,16,TreeMap,TreeMap和TreeSet一样,能对键进行自动排序。 Map map = new TreeMap( );map.put(1, Monday);map.put(3, Wendsday);map.put(4, Thursday);map.put(2,

11、Tuesday);Set keys = map.keySet( );Iterator it = keys.iterator( );while(it.hasNext( ) String key = (String)it.next( );String value = (String)map.get(key);System.out.println(key + + value);,程序运行结果: 1 Monday 2 Wendsday 3 Thursday 4 Tuesday,北京科技大学天津学院 信息工程系,17,泛型,泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数

12、据类型被指定为一个参数。 在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。,Collections类,Collections是针对集合类的一个帮助类。提供了一系列静态方法实现对各种集合的搜索、排序、线程完全化等操作,相当于Arrays类类似的操作,用法如下

13、:Collections.max(Collection coll); /取coll中最大的元素Collections.sort(List list); /对list中元素排序,北京科技大学天津学院-信息工程系,北京科技大学天津学院 信息工程系,19,集合框架总结,List允许有相同的元素,允许有null元素,元素是有序的,使用索引访问元素。Set是不包含重复的元素,最多有一个null元素,不保证维护元素的顺序,使用Iterator迭代访问元素。Map提供key到value的映射,每个key映射一个value ,不允许有null元素。一个Map中不能包含相同的key,但对应的value对象可以重复,不保证维护元素的顺序,根据key访问value。,

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。