收藏 分享(赏)

第十一章集合.ppt

上传人:Facebook 文档编号:9724623 上传时间:2019-08-28 格式:PPT 页数:34 大小:908KB
下载 相关 举报
第十一章集合.ppt_第1页
第1页 / 共34页
第十一章集合.ppt_第2页
第2页 / 共34页
第十一章集合.ppt_第3页
第3页 / 共34页
第十一章集合.ppt_第4页
第4页 / 共34页
第十一章集合.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、Java语言基础 第十一章 集合,异常概念 异常分类 运行时异常 编译期异常 异常处理机制catchthrows 自定义异常,上章回顾,Java集合框架 Collection接口 Iterator接口 List接口以及实现类 Set接口以及实现类 Map接口以及实现类,本章内容,一、集合框架概述,集合(collection)有时又称为容器,简单地说,它是一个对象,能将具有相同性质的多个元素汇聚成一个整体 集合被用于存储、获取、操纵和传输聚合的数据 集合框架(Collections Framework)是用来表现和操纵集合的一个统一的体系结构。所有的集合框架都包含以下内容: 接口:是代表集合的抽

2、象数据类型。 实现:是集合接口的具体实现。本质上,它们是可重用的数据结构,是一些类。 算法:是在实现了集合接口的对象上执行有用的计算的方法,如查找和排序。,集合的由来,我们学习的是Java - 面向对象 - 操作很多对象 - 存储 - 容器(数组和StringBuffer) - 数组而数组的长度固定,所以不适合做变化的需求,Java就提供了集合供我们使用。集合和数组的区别?A:长度区别数组固定集合可变B:内容区别数组可以是基本类型,也可以是引用类型集合只能是引用类型C:元素内容数组只能存储同一种类型集合可以存储不同类型(其实集合一般存储的也是同一种类型),一、Java集合框架结构,二、Coll

3、ection接口,Collection接口提供了集合接口的通用操作,二、Collection接口,Collection集合元素的遍历方式 两种集合的遍历方式for-each结构遍历迭代器Iterator遍历,for(Object o:c)System.out.print(o.toString();,public interface Iteratorpublic boolean hasNext();public E next();public void remove();,三、List接口,List接口是一个有序的集合,可以包含重复元素 除了从Collection继承来的操作外,List接口还提

4、供了以下按序列进行操作的方法:,三、List接口,Java平台提供了两个通用的List接口实现类java.util.ArrayListjava.util.LinkedList 以ArrayList为例演示List接口的使用方法,ArrayList 的简单存入 和 遍历方式.,四、Set接口及其实现,Set接口通用的实现类有HashSet、TreeSet和LinkedHashSet,编写程序,获取命令行参数中的字符串列表,输出其中重复的单词、不重复的单词以及消除重复以后的单词列表。,四、Set接口及其实现类,Set是一个不能包含重复元素的接口。 Set接口是Collection的子接口 只包含从

5、Collection继承过来的方法 增加了对add方法的限制,不允许有重复的元素。,练习,产生10个1-20之间的随机数,要求随机数不能重复 打印出这10个随机数.,五、Map接口及其实现类,Map是一种包含键值对的元素的集合。 Map不能包含重复的键 每个键最多可映射到一个值。,五、Map接口及其实现类,Map接口定义了一系列的方法:,五、Map接口及其实现类,Map的通用实现类有HashMap、TreeMap和LinkedHashMap,统计命令行中单词出现的次数,六、Collections工具类,Collections提供了集合操作的常用算法,这些算法都以静态方法的形式提供 这些静态方法

6、的第一个参数都是需要对其操作的 集合 Collections提供的多数算法都是针对java.util.List类型的集合进行操作的,也有一部分可以操作任何类型的集合,练习,键盘录入多个数据有整数有浮点数有字符串,以0结束,并在控制台输出最大的数值,六、Collections工具类,Collections集合操作工具类位于java.util包下 Collections中常用的方法有: 排序 void sort() 随机排序 void shuffle() 反转集合中的顺序 void reverse() 二分查找:int binarySearch() 查找极值 T max(),T min(),七、A

7、rrays工具类,Arrays提供了数组操作的各种方法 Arrays提供了将数组转换为List的静态方法 Arrays提供的常用方法有: 将数组转化为List:asList() 二分查找:binarySearch() 复制数组:copyOf() 数组排序:sort() 初始化数组:fill(),迭代器使用,并发修改异常 A:出现的现象 迭代器遍历集合,集合修改集合元素 B:原因 迭代器是依赖于集合的,而集合的改变迭代器并不知道。 C:解决方案 a:迭代器遍历,迭代器修改(ListIterator) 元素添加在刚才迭代的位置 b:集合遍历,集合修改(size()和get() 元素添加在集合的末尾

8、,泛型,泛型(掌握)(1)泛型概述是一种把明确类型的工作推迟到创建对象或者调用方法的时候才去明确的特殊的类型。(2)格式:注意:该数据类型只能是引用类型。(3)好处:A:把运行时期的问题提前到了编译期间B:避免了强制类型转换C:优化了程序设计,解决了黄色警告线问题,让程序更安全(4)泛型:A:泛型的由来Object类型作为任意类型的时候,在向下转型的时候,会隐含一个转型问题B:泛型类C:泛型方法D:泛型接口E:泛型高级通配符? extends E? super E(5)在哪里使用呢?一般是在集合中使用。,枚举,在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”

9、中的元素是有限的。 例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。 在java中如何更好的使用这些“数据集”呢?,枚举,事实上,枚举也可以理解为一个类,只不过这个类的实例/对象是一定的,就那么几个。所有这些实例/对象都直接写在了这个类中,java给它一种新的组织方式称为枚举。,普通枚举,带有构造器的枚举,带有抽象方法的枚举,枚举的使用,枚举是一种类型,用于定义变量,以限制变量的赋值;赋值时通过“枚举名.值”取得枚举中的值,Java集合框架 Collection接口 Iterator接口 List接口以及实现类 Set接口以及实现类 Map接口

10、以及实现类 Collections集合工具类 Arrays数组工具类,本章总结,作业一: 使用Scanner从控制台读取一个字符串,统计字符串中每个字符出现的次数,要求使用学习过的知识完成以上要求 实现思路根据Set、List、Map集合的特性完成。,作业,作业二: 定义一个Employee类,属性:name:String,age:int,salary:double 把若干Employee对象放在List中,排序并遍历输出,排序规则:salary高的在前面,salary相同时age大的在前面,age也相同时按照name升序排列把若干Employee对象放在Set中并遍历,要求没有重复元素,作业,作业三: 某中学有若干学生(学生对象放在一个List中),每个学生有一个姓名属性、班级名称属性(String)和考试成绩属性(int),某次考试结束后,每个学生都获得了一个考试成绩。请打印出每个班级的总分和平均分。 class Studentname className”0113” score ,作业,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 往来文书

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报