Java第9章 集合和工具类
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
-12-
9.2.5 ArrayList和LinkedList
ArrayList是最常用的结构,可以存储几乎任 何类型的元素,实现了List接口,并直接继 承AbstractList类。
LinkedList是另一种和ArrayList不同数据结构 的集合,该结构对集合元素进行删除和插 入操作的性能优于ArrayList。
-19-
9.7 常用工具类(续)
9.7.1 Java API文档 9.7.2 Math类 9.7.3 日期处理 9.7.4 实例演练1 9.7.5 实例演练2
-20-
9.7.1 Java API文档
-21-
9.7.2 Math类
-22-
9.7.3 日期处理
-23-
9.7.3 日期处理
-28-
习题
2.编程题 1)从控制台中输入3个学生的姓名,并保存到 ArrayList集合中。然后,查找该集合中是否包含名 字为“张三”的学生,如果有,则输出“该学生在 集合中!”, 否则输出“该学生不在集合中!”。 2)在控制台中分别输入学生的学号和姓名,并保存 到HashMap<Integer,String>泛型集合中。然后,将 学号是“1”的学生姓名输出。
-9-
9.2.3 HashSet和TreeSet
-10-
9.2.3 HashSet和TreeSet
-11-
9.2.4 字符类型和布尔类型
List在util包下,继承了Collection接口,允许 存放重复项,是集合日常开发中最常用到 的接口。它使用灵活,可以增加、移除元 素,也可以根据索引访问指定元素。它有 10个实现类,常用的是ArrayList和LinkedList
TreeMap是一个有序集合,是红黑树的实现 ,可以查找记录。
-18-
ຫໍສະໝຸດ Baidu
9.6 泛型集合
集合存储数据时,会把数据自动转为 Object类型存入,然后在取出时会把它 再强制转换成原数据类型。当存入时 的数据类型和准备转换成的数据类型 不兼容时,则会报“类转换异常”。 为了减少这种情况发生,Java从JDK1.5 开始支持“泛型”。“泛型”就是在 定义方法参数、成员变量、集合等隐 性用到数据类型的地方,为其指明允 许存放的数据类型。
-29-
类型,而数组只能存放单一的数据类型。
-5-
9.1.2 集合继承层次
-6-
9.2 Collection接口下的继承者
9.2.1 Collection接口 9.2.2 Set接口 9.2.3 HashSet和TreeSet 9.2.4 List接口 9.2.5 ArrayList和LinkedList
第9章 集合和工具类
内容简介
9.1 集合概述 9.2 Collection接口下的继承者 9.3 集合访问器Iterator接口 9.4 集合工具类Collections 9.5 Map接口
-2-
内容简介
9.6 泛型集合 9.7 常用工具类 9.8 综合实例
-3-
器返回的最后一个元素。
-14-
9.4 集合工具类Collections
-15-
9.5 Map接口
9.5.1 Map接口 9.5.2 HashMap和TreeMap
-16-
9.5.1 Map接口
Map接口提供了以“键(Key)/值(Value)”映 射关系存储数据的方式。其中每个键最多映射一 个值,同时Key不允许重复,Value允许重复且无 序。该接口常用实现类有HashTable、HashMap、 TreeMap等。
-17-
9.5.2 HashMap和TreeMap
HashMap存储和查找的速度优于其他类型的集合 。存储的数据无序,储值需要保证两部分。一个 是K(Key),是键值;另一个是V(Value),是 记录值。这两个值是成对出现的(也称为映射关 系),即计算key的散列码,并将value存储到该位 置。
-7-
9.2.1 Collection接口
-8-
9.2.2 Set接口
Set接口继承自Collection,同时加入额外的 内容。该接口要求不包含重复元素,最多 允许一个NULL元素。
实现Set接口的抽象类是AbstractSet,它继 承自AbstractCollection,作用是提供接口主 要部分的实现,以此来减少其他类实现该 接口时的工作量。AbstractSet抽象类没有重 写父类的方法,但增加了equals和hashCode 的实现。
9.1 标识符和关键字
9.1.1 集合与数组的比较 9.1.2 集合继承层次
-4-
9.1.1 集合数组的比较
数组和集合的区别,包括如下3方面。 (1)数组大小固定,集合动态变化。 (2)数组效率比较高,只存储原生数据类型
;集合效率稍低,可以存储引用类型。 (3)除了泛型集合外,集合可以放多种数据
-13-
9.3 集合访问类的Iterator接口
集合中专门提供了一个遍历集合元素的工 具,即迭代器Iterator。迭代器Iterator共包 含如下3个方法。
hasNext():返回布尔类型。用来检测下面 是否有元素可以迭代,如果有则返回true。
next():返回迭代的下一个元素。 remove():从迭代器指向的集合中移除迭代
-24-
9.7.4 实例演练一
使用Math方法对随机产生的小数取整
-25-
9.7.5 实例演练二
根据给定的时间,计算N小时后的时间
-26-
9.8 综合实例
查找集合中符合要求的元素并组成新集合
-27-
习题
1.填空题 1)数组的特点是________________________。 2)集合的特点是________________________。 3)集合中元素不能重复的是__________________。
9.2.5 ArrayList和LinkedList
ArrayList是最常用的结构,可以存储几乎任 何类型的元素,实现了List接口,并直接继 承AbstractList类。
LinkedList是另一种和ArrayList不同数据结构 的集合,该结构对集合元素进行删除和插 入操作的性能优于ArrayList。
-19-
9.7 常用工具类(续)
9.7.1 Java API文档 9.7.2 Math类 9.7.3 日期处理 9.7.4 实例演练1 9.7.5 实例演练2
-20-
9.7.1 Java API文档
-21-
9.7.2 Math类
-22-
9.7.3 日期处理
-23-
9.7.3 日期处理
-28-
习题
2.编程题 1)从控制台中输入3个学生的姓名,并保存到 ArrayList集合中。然后,查找该集合中是否包含名 字为“张三”的学生,如果有,则输出“该学生在 集合中!”, 否则输出“该学生不在集合中!”。 2)在控制台中分别输入学生的学号和姓名,并保存 到HashMap<Integer,String>泛型集合中。然后,将 学号是“1”的学生姓名输出。
-9-
9.2.3 HashSet和TreeSet
-10-
9.2.3 HashSet和TreeSet
-11-
9.2.4 字符类型和布尔类型
List在util包下,继承了Collection接口,允许 存放重复项,是集合日常开发中最常用到 的接口。它使用灵活,可以增加、移除元 素,也可以根据索引访问指定元素。它有 10个实现类,常用的是ArrayList和LinkedList
TreeMap是一个有序集合,是红黑树的实现 ,可以查找记录。
-18-
ຫໍສະໝຸດ Baidu
9.6 泛型集合
集合存储数据时,会把数据自动转为 Object类型存入,然后在取出时会把它 再强制转换成原数据类型。当存入时 的数据类型和准备转换成的数据类型 不兼容时,则会报“类转换异常”。 为了减少这种情况发生,Java从JDK1.5 开始支持“泛型”。“泛型”就是在 定义方法参数、成员变量、集合等隐 性用到数据类型的地方,为其指明允 许存放的数据类型。
-29-
类型,而数组只能存放单一的数据类型。
-5-
9.1.2 集合继承层次
-6-
9.2 Collection接口下的继承者
9.2.1 Collection接口 9.2.2 Set接口 9.2.3 HashSet和TreeSet 9.2.4 List接口 9.2.5 ArrayList和LinkedList
第9章 集合和工具类
内容简介
9.1 集合概述 9.2 Collection接口下的继承者 9.3 集合访问器Iterator接口 9.4 集合工具类Collections 9.5 Map接口
-2-
内容简介
9.6 泛型集合 9.7 常用工具类 9.8 综合实例
-3-
器返回的最后一个元素。
-14-
9.4 集合工具类Collections
-15-
9.5 Map接口
9.5.1 Map接口 9.5.2 HashMap和TreeMap
-16-
9.5.1 Map接口
Map接口提供了以“键(Key)/值(Value)”映 射关系存储数据的方式。其中每个键最多映射一 个值,同时Key不允许重复,Value允许重复且无 序。该接口常用实现类有HashTable、HashMap、 TreeMap等。
-17-
9.5.2 HashMap和TreeMap
HashMap存储和查找的速度优于其他类型的集合 。存储的数据无序,储值需要保证两部分。一个 是K(Key),是键值;另一个是V(Value),是 记录值。这两个值是成对出现的(也称为映射关 系),即计算key的散列码,并将value存储到该位 置。
-7-
9.2.1 Collection接口
-8-
9.2.2 Set接口
Set接口继承自Collection,同时加入额外的 内容。该接口要求不包含重复元素,最多 允许一个NULL元素。
实现Set接口的抽象类是AbstractSet,它继 承自AbstractCollection,作用是提供接口主 要部分的实现,以此来减少其他类实现该 接口时的工作量。AbstractSet抽象类没有重 写父类的方法,但增加了equals和hashCode 的实现。
9.1 标识符和关键字
9.1.1 集合与数组的比较 9.1.2 集合继承层次
-4-
9.1.1 集合数组的比较
数组和集合的区别,包括如下3方面。 (1)数组大小固定,集合动态变化。 (2)数组效率比较高,只存储原生数据类型
;集合效率稍低,可以存储引用类型。 (3)除了泛型集合外,集合可以放多种数据
-13-
9.3 集合访问类的Iterator接口
集合中专门提供了一个遍历集合元素的工 具,即迭代器Iterator。迭代器Iterator共包 含如下3个方法。
hasNext():返回布尔类型。用来检测下面 是否有元素可以迭代,如果有则返回true。
next():返回迭代的下一个元素。 remove():从迭代器指向的集合中移除迭代
-24-
9.7.4 实例演练一
使用Math方法对随机产生的小数取整
-25-
9.7.5 实例演练二
根据给定的时间,计算N小时后的时间
-26-
9.8 综合实例
查找集合中符合要求的元素并组成新集合
-27-
习题
1.填空题 1)数组的特点是________________________。 2)集合的特点是________________________。 3)集合中元素不能重复的是__________________。