第8章集合与泛型 ava 8.1集合简介 8.2迭代器 8.3for-each循环 84泛型定义 85泛型的使用 86Java泛型的局限性
第8章 集合与泛型 8.1 集合简介 8.2 迭代器 8.3 for-each循环 8.4 泛型定义 8.5 泛型的使用 8.6 Java泛型的局限性
第8章集合与泛型(续)闆 8. 7 Autoboxing K Unboxing 8. 8 Collection 89List及其实现类 8.10Co11 ections类 8.11习题
第8章 集合与泛型(续) 8.7 Autoboxing及Unboxing 8.8 Collection 8.9 List及其实现类 8.10 Collections类 8.11 习题
8.1集合简介 ava 集合对象会自动扩展,以容纳添加到其 中的所有对象。 集合中只能容纳对象 Java2的集合类型被统一组织在Java集合 架构( Java collections framework)中
8.1 集合简介 集合对象会自动扩展,以容纳添加到其 中的所有对象。 集合中只能容纳对象。 Java 2的集合类型被统一组织在Java集合 架构(Java Collections Framework)中
8.1.1集合架构 ava Collection Map Set Sortedset SortedMap Abstract collection Abstractlist Abstractset Abstractma Abstractsequentia IList Arraylist Linked Hash Set TreeSet HashMap Tree Ma p
8.1.1 集合架构 Collection List Set Map SortedSet SortedMap ArrayList LinkedList HashSet TreeSet HashMap TreeMap AbstractList AbstractSet AbstractMap AbstractSequentialList AbstractCollection
8.1.1集合架构(续) ava Collection: 每个元素都是单一对象 List以特定顺序容纳元素。 se中不能有重复的元素 Map: 每个元素都是一对key- value(键值/实值) 对象,且每个元素中的键值都不能与其他 元素中的键值相同
8.1.1 集合架构(续) Collection: – 每个元素都是单一对象。 List以特定顺序容纳元素。 Set中不能有重复的元素。 Map: – 每个元素都是一对key-value(键值/实值) 对象,且每个元素中的键值都不能与其他 元素中的键值相同
8.1集合简介(续) ava 接口: Co11 ection、List、Set Map 具体实现类: Arraylist、 Linkedlist、 Hashset Treeset Hashmap、 TreeMap 算法 Gava util. Collections
8.1 集合简介(续) 接口: – Collection、List、Set – Map 具体实现类: – ArrayList、LinkedList、HashSet、 TreeSet – HashMap、TreeMap 算法: – java.util.Collections
8.1.1集合架构(续) ava 核心接口是Java集合架构的基础,所有 的具体集合类都是它们的实现。理想情 况下,程序大多时候只会和这些接口打 交道,而只有在创建集合时才会指定集 合的具体类型。 例8-1集合 源代码 编译运行
8.1.1 集合架构(续) 核心接口是Java集合架构的基础,所有 的具体集合类都是它们的实现。理想情 况下,程序大多时候只会和这些接口打 交道,而只有在创建集合时才会指定集 合的具体类型。 例8-1 集合 源代码 编译运行
8.1.2泛型集合的引入 ava JDK142和更早版本的集合有一个共同 的缺点:一旦将某个对象添加到其中, 该对象便失去了其原有的类型信息,集 合中所容纳的元素其实只是一些指向 ○ oJect对象的引用
8.1.2 泛型集合的引入 JDK 1.4.2和更早版本的集合有一个共同 的缺点:一旦将某个对象添加到其中, 该对象便失去了其原有的类型信息,集 合中所容纳的元素其实只是一些指向 Object对象的引用
8.1.2泛型集合的引入 ava JDK1.42和更早版本的集合: 集合对其所容纳的对象类型没有任何限制 可以将任意类型的对象添加到同一集合中 从集合中取出对象时必须将其强制转换成 正确的类型 例8-2JDK1.42集合的缺点 源代码 编译运行
8.1.2 泛型集合的引入 JDK 1.4.2和更早版本的集合: – 集合对其所容纳的对象类型没有任何限制, 可以将任意类型的对象添加到同一集合中。 – 从集合中取出对象时必须将其强制转换成 正确的类型。 例8-2 JDK 1.4.2集合的缺点 源代码 编译运行
8.1.2泛型集合的引入(续) ava JDK1.5引入了泛型( Generics): 从泛型集合中取出元素时不再需要进行强 制类型转换。 编译器会保证添加到集合中的元素一定是 参数化类型指定的类型。 例8-3使用泛型集合 源代码 编译运行
8.1.2 泛型集合的引入(续) JDK 1.5引入了泛型(Generics): – 从泛型集合中取出元素时不再需要进行强 制类型转换。 – 编译器会保证添加到集合中的元素一定是 参数化类型指定的类型。 例8-3 使用泛型集合 源代码 编译运行