第8章泛型和集合框架.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章泛型和集合框架

8.1泛型 8.2集合框架简介 8.3集合常用实现类的使用 8.4简化的for语句 8.5案例分析与实现(续5) 第8章泛型和集合框架 本章教学内容: 本章教学目标: 了解泛型的概念 掌握泛型类的创建和使用 了解泛型使用的限制 理解Java集合框架的结构 掌握List、Set、Map接口常用实现类的使用 掌握Java迭代器的使用 掌握foreach语句的使用 8.1泛型 ?泛型是JDK5.0的新特性,泛型的本质是参数化类型,即程序中所操作的数据类型被指定为一个参数。 泛型的主要目的是可以建立具有类型安全的集合框架,如链表、散列映射等数据结构。 泛型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 1.泛型类的定义 实例8-1泛型类的简单使用示例。 定义泛型类的语法格式为 : class 泛型类名 形式类型参数列表 { 类体 } 说明: (1)泛型类名的命名要符合标识符的命名规则; (2)形式类型参数列表用于指明当前泛型类可接受的类型参数占位符的个数,可以有一个参数,也可以有多个参数。如果多个参数,则参数之间用逗号隔开,如MapK,V。 (3)泛型的类型参数只能是引用类型(包括自定义类),不能是基本数据类型。 2.泛型类的实例化 泛型类实例化的语法格式如下 : 泛型类名实际类型参数列表 变量名= new泛型类名实际类型参数列表 (参数列表); 例如:GenericString strObj = new GenericString(Generic class example!); 3.使用泛型的好处 实例8-2修改实例8-1:在不使用泛型的情况下完成实例8-1的功能。 引入泛型后,程序在编译的时候就检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。 4.泛型的局限性 Java并没有真正实现泛型,是编译器在编译的时候在字节码上做了手脚(称为擦除),是编译器级别的,虚拟机并不知道有没有泛型。 (1)泛型的参数不能被实例化 ; (2)不能声明参数化类型的数组; (3)不能用基本类型替换引用类型参数 ; (4)不能定义带泛型的异常。不允许定义Throwable的泛型子类; (5)不能在静态变量或者静态方法中引用类中声明的类型参数。 8.2集合框架简介 集合框架的引入给编程操作带来了如下的优势: (1)集合框架强调了软件的复用。集合框架通过提供有用的数据结构和算法,使开发者能集中注意力于程序的重要部分上。 (2)简化编程过程,提高效率。集合框架通过提供对有用的数据结构(动态数组、链接表、树和散列表等)和算法的高性能、高质量的实现使程序的运行速度和质量得到提高。 (3)集合框架允许不同类型的数据以相同的方式和高度互操作方式工作。 (4)集合框架允许扩展或修改。 随着泛型的引入,JDK5.0对集合框架进行了相应的调整,以使集合框架完全支持泛型,这样集合就会更加方便和安全。 1.Collection 接口 Collection 接口是集合框架的基础,用于表示一批同类型对象的集合。Collection 接口声明了所有集合都将拥有的核心方法,例如基本的添加、删除操作等,并且提供了一组操作成批对象的方法,而且还提供了支持查询操作如判断集合是否为空的方法等 2.List 接口 List接口是最常用的一种集合,它扩展了 Collection接口并声明了存储一系列元素的集合的特性:该集合允许元素重复,并且元素是有序的,即以元素添加的次序来放置元素,元素不会重新排列。该接口不但能够对集合的一部分元素进行处理,还允许针对位置索引的随机操作。它的具体实现类常用的有ArrayList和LinkedList。 List除了能使用 Collection 定义的方法之外,还定义了一些自己的方法。 3.Set接口 Set接口也扩展了Collection接口,Set中的元素不允许重复,其元素添加后采用自己内部的一个排列机制存放,即集合这元素的存放顺序可能与添加时的顺序不一致。 Set接口没有引入新方法,可以说Set就是一个Collection,只是行为不同。它的常用具体实现类有HashSet类和TreeSet类 4.Map接口 除了Collection接口,Java 还在 java.util包中增加了Map接口(又称为映射)。Map接口没有继承Collection接口。Map接口提供了将键映射到集合的对象,用于维护键/值对(key/value)的集合,Map集合中的键不允许重复,而值可以是任意对象。 Map接口映射唯一的键到值。键是以后用于检索值的对象。给定一个键和一个值,可以存储这个键/值对到一个Map对象中。当这个键/值对被存储以后,就可以使用它的键来检索它。 Map不是Col

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档