电工与电子技术电子商务电子课件JAVA语言程序设计java08ppt.ppt
《电工与电子技术电子商务电子课件JAVA语言程序设计java08ppt.ppt》由会员分享,可在线阅读,更多相关《电工与电子技术电子商务电子课件JAVA语言程序设计java08ppt.ppt(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、PPT模板下载:/moban/行业PPT模板:/hangye/节日PPT模板:/jieri/PPT素材下载:/sucai/PPT背景图片:/beijing/PPT图表下载:/tubiao/优秀PPT下载:/xiazai/PPT教程:/powerpoint/Word教程:/word/Excel教程:/excel/资料下载:/ziliao/PPT课件下载:/kejian/范文下载:/fanwen/试卷下载:/shiti/教案下载:/jiaoan/字体下载:/ziti/电子课件JAVA语言程序设计java08第8章数据结构和数据处理8.1基本数据结构的构造8.2泛型8.3枚举8.4容器集合类8.5注
2、解本章目录8.1基本数据结构的构造一、自引用类在定义类时,可以把另一个类的对象实例作为该类的成员定义在该类中。如果作为类成员的对象实例就是所定义的类的类型,这个类就称为自引用类,这种方式在Java语言中是被允许的。“可以被自己引用的类”。一种递归调用。class Node private int data;private Node nextNode;public Node(int d)data=d;public int getData()return data;public void setData(int dd)data=dd;public Node getNextNode()return
3、nextNode;public void setNextNode(Node next)nextNode=next;二、构造链表链表是一种典型的线性结构,包括单向链表和双向链表。利用自引用类,构造链表节点类,从而构造出单向链表。【例例8.1】单向链表的例子单向链表的例子稍作改进,即可构造出双向链表。三、构造栈栈也是一种线性结构,特点是只允许在栈尾添加和删除节点,即后进先出结构。先进入栈的是头元素,后进入栈的是尾元素。利用自引用类,构造栈节点类,从而构造出栈。【例例8.2】线性栈的例子线性栈的例子四、构造队列队列也是一种线性结构,队列是先进先出结构,即先进入队列的元素必定先从队列中离开。参照链表和
4、栈,很容易构造出队列。五、构造二叉树树形结构是一种重要的非线性结构,其中,树和二叉树结构较为常用。树形结构包含根节点、分支节点和叶节点。对于每个节点而言,除了需要有保存数据的变量,还必须有指向下一层节点的指针。可以定义带有两个子节点指针的节点类,从而构造出二叉树。【例例8.3】二叉树抽象类的例子二叉树抽象类的例子8.2泛型一、泛型的概念泛型(Generics)是Java语言中在面向对象编程及各种设计模式中应用非常广泛的一个概念,自Java SE 5版本开始引入。使用泛型,一方面是为了编写更为通用的程序代码,让定义的代码具有更为广泛的表达能力;另一方面是为了加强程序的数据安全性。泛型是把类型作为
5、变量的一种定义方式,实现了参数化类型的概念。程序清单8.1中,把作为链表节点存储值的变量data定义为Object类型,其用意是表示这个定义具有一定程度的适应性,可以用于多种引用类型,但是实际效果可能难以尽如人意。当存储数据时,若同时存储不同类型的数据,类型验证总是正确的。这样会导致一些后续问题。在引入泛型概念之后,这样的问题就好处理了。可以把上面的数据类型定义为一个变量,当实际使用这段代码时,指定具体的数据类型,使得代码在运行时按照给出的具体数据类型进行类型验证,这就是泛型,就是“关于类型的变量”。使用泛型方法,使得程序具有抽象性和概括性,可以让程序员避免重复编写平行的程序段。class U
6、nidirectionalListNode T data;UnidirectionalListNode nextNode;/定义两个构造方法 UnidirectionalListNode(T object)this(object,null);UnidirectionalListNode(T object,UnidirectionalListNode node)data=object;nextNode=node;T getDate()return data;UnidirectionalListNode getNextNode()return nextNode;使用一个带有尖括号的符号放在类名后面
7、,把类中原来的Object使用T替换,即完成了一个泛型类的定义。当实际使用时,给出一个具体的引用类型,替代尖括号中的T,即可进行编译和运行。这里相当于定义了一个变量,即一个关于类型的变量,T就是这个变量的标识符。泛型变量的书写没有明确的要求,习惯上使用单个的大写字母。JFC类库中经常使用以下的字母作为泛型定义的类型变量。T:类型Type的首字母,使用频率比较高,通常用于一般的类型定义。E:元素Element的首字母,多用于Java集合框架。K:关键字Key的首字母,用于键/值对的关键字。V:值Value的首字母,用于键/值对的对应值。N:数字Number的首字母,用于指代泛型中的数字类型。当实
8、际使用这样的代码时,需要使用一个具体的类型替代类型变量,这个类型要求必须是引用类型,不能是基本数据类型,但可以是基本数据类型的封装类。可以根据需要在一个代码段中使用两个或两个以上的泛型变量。泛型的核心概念是通过代码告诉编译器想要使用什么类型,而使用类型的细节就需要编译器帮助处理了。泛型定义仅在编译阶段有效,不会进入运行阶段,进入运行阶段的是使用实际引用类型替代类型变量后的代码。二、泛型类将泛型定义方式应用于类定义,得到的类就是泛型类。在实际使用时,必须使用一个具体的类型替代泛型类定义中的类型变量。然后继续向下使用,可以获得一个存储字符串型引用的单向链表。三、泛型接口将泛型定义方式应用于接口定义
9、,得到的接口就是泛型接口,其具体使用与泛型类类似,也是将泛型参数放到接口名的后面。泛型接口在实现时有两种方式,可以在实现类中依然保留泛型变量,成为泛型类的定义;也可以在实现类中给出一个具体的类型替代泛型变量,成为实用类的定义。四、泛型方法将泛型定义方式应用于方法定义,得到的方法就是泛型方法。在定义泛型方法时,需要把泛型参数放到方法的返回值类型说明之前。在方法体中应该出现引用类型的地方,一律使用泛型参数,以备编译系统在运行代码时使用实际引用类型替代。这里有一个设计原则:如果只使用泛型方法就可以将整个类泛型化,就应该只使用泛型方法,不使用泛型类,因为这样可以表述得更清楚。五、泛型通配符泛型通配符一
10、般使用“?”代替具体的类型实参出现在程序代码中,代表可以是任意的类型。注意,泛型通配符“?”与泛型定义使用的类型变量不同,类型变量是一个形参,而泛型通配符“?”代表的是实参。泛型通配符解决了泛型类不适用向上转型原则的问题。六、泛型的上下边界称为上界通配符(Upper Bounds Wildcards),是指所有由T派生的子类,这时的“?”泛指在类的继承树上位置低于T的所有类,所以称为上界通配符。称为下界通配符(Lower Bounds Wildcards),是指所有派生了T的父类,这时的“?”泛指在类的继承树上位置高于T的所有类,所以称为下界通配符。8.3枚举一、枚举的定义Java SE 5版
11、本增加定义了枚举,添加了枚举关键字enum,用来定义枚举数据类型。public enum Special MATHEMATICS,PHYSICS,CHEMISTRY,ELECTRONICS,COMPUTER;这就定义了一个“Special”的枚举类型。这相当于声明了一个“Special”类,此类继承自Enum类,所有的元素都是类的字段,具有常量值,所以一般使用大写字母的字符串描述元素。在使用枚举类型时,需要生成类的对象实例引用,并将枚举的一个元素赋值给对象实例引用。在创建枚举类型时,编译器会自动添加一些特性给枚举类型,如添加toString()方法用来显示枚举实例的名称,添加ordinal()
12、方法用来获取枚举常量元素的声明顺序,这两个方法来自Enum类;还会添加static values()方法用来获取声明顺序对应的元素,这个方法是编译器添加的。二、Enum类Java SE 5版本增加定义了枚举类,即Enum类,其元素使用泛型描述。该类实现了Serializable和Comparable两个接口,具有可序列化和可比较的属性,其中的几个方法是比较常用的:compareTo(E o)/比较此枚举与指定对象的顺序equals(Object other)/当指定对象等于此枚举常量时,返回truehashCode()/返回枚举常量的哈希码ordinal()/返回枚举常量的序数toString
13、()/返回枚举常量的名称valueOf(Class enumType,String name)/返回指定枚举类型的枚举常量三、枚举的使用枚举实例可以像普通的常量一样被使用。此外,枚举有一个特别的用途,它可以在switch语句内部使用,以枚举实例引用作为switch语句的控制表达式。【例例8.6】枚举和枚举和switch 语句使用语句使用8.4容器集合类从Java SE 5版本开始,对数据处理的内容进行了整理和加强,JFC类库中增加定义了一些专门用于处理数据的API。一、For-each遍历与迭代器例8.6使用了For-each遍历,这是Java SE 5版本提供的一个新的遍历工具。Foreac
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电工 电子技术 电子商务 电子 课件 JAVA 语言程序设计 java08ppt
限制150内