Java语言程序设计第13章_常用工具类

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Collection API 是Java中提供的有关集合的类库。 Collection API中的接口和类主要包含在java.util包中。
1. 集合框架概述
所谓框架就是一个类库的集合,集合框架中包含了实现 集合的接口与类。
13.2 集合类
13.2.1 集合与Collection API
1. 集合框架概述
13.1 Java语言基础类
13.1.4 Math类
(1)Math类定义的两个双精度常量 (2)Math类定义的常用方法
13.1 Java语言基础类
13.1.5 System类
Java设计者将一些系统相关的重要函数和变量收集到 了System类中。
System类中的所有成员都是静态的 。 1. exit()方法 2. getProperties()方法与Java的环境属性
equals()方法与“==”的区别
13.1 Java语言基础类
13.1.3 基本数据类型包装类
Java中的每个简单类型都有一个对应的包裹类来表达同 一个类型,它是真正的对象类型。
表5-1 基本类型与其对应的包裹类型
基本类型
包裹类型
byte short
int long float double char boolean
步。
13.1 Java语言基础类
13.1.2 Object类
1. toString()方法
Object类中定义的toString()方法是给出对象的字符串 表达形式。
Object子类中toString方法的重写
2. equals()方法
Object类中的equals()方法在默认情况下用来比较两个 对象的内存地址是否相同,若相同则返回true,否则 返回false。
映射(Map):映射中保存成对的“键-值”(KeyValue)信息,Key和Value均为对象,映射中不能包 含重复的键(key),键(key)的排列是无序的,每 个键最多只能映射一个值。
பைடு நூலகம்
13.2 集合类
13.2.1 集合与Collection API
1. 集合框架概述
HashSet
Set LinkedHashSet
13.2 集合类
13.2.2 List接口及ArraryList、 Vector类
3. Stack堆栈
java.util.Stack类继承了Vector类,对应数据结构中以 “后进先出(Last in First out, LIFO)”方式存储和 操作数据的线性表,即对象栈。
4. LinkedList队列
13.2 集合类
Java集合类提供了一些基本数据结构的支持, 主要负责保存、盛装其他数据,因此又将集合类称 为容器类。
Java集合类通常分为Set、List、Map和Queue 四大体系。
Java的集合类主要由两个接口派生而来: Collection接口和Map接口。
13.2 集合类
13.2.1 集合与Collection API
13.5 综合应用
完成俱乐部会员管理程序,程序中的 Membership类定义会员对象,在该类中定义了会 员的基本属性和方法,它的实现代码如下所示; Club类是对会员进行管理的俱乐部类,在Club类 中定义一个容器对象保存会员对象,然后通过对 容器的操作实现对会员的添加和管理。
13.1 Java语言基础类
13.1.4 Math类
ng.Math类中定义了一些完成基本算术运算的函 数,如指数函数、对数函数、平方根函数以及三角函 数等。
Math类是final类,因此不能被继承。它的构造方法是 private的,因此不能实例化。
Math类中定义的两个常量PI和E以及所有的方法都 static的,因此在使用时不需要创建Math类的对象, 而直接用类名做前缀,就可以很方便地调用这些属性 和方法。
第13章 常用工具类
▪ Java语言基础类 ▪ 集合类 ▪ 日期和时间类等
13.1 Java语言基础类
13.1.1 Java基础类库
Java基础类库是Java中已经定义好的标准类 库,它是Java编程的API 。
Java语言中的类按照不同的功能划分成了不 同的集合,每个集合称为一个包(package)。
13.3 时间和日期类
程序中常常需要使用日期、时间等数据, java.util包中的Date和Calendar类提供了处理日期 和时间的相关的方法。
13.3.1 Date 13.3.2 Calender
13.4 Random类
Java语言中,随机数的产生是由类库中的 Random类实现的。
Random类的用法如下: Random randomGenerator; randomGenerator = new Random(); int index = randomGenerator.nextInt();//生成一个随机整 数 System.out.println(index);
集合类型可以归纳为三种:集(Set)、列表(List)和 映射(Map)。
集(Set):Set集合是无序集,Set集合中不区分元素 的顺序,不允许出现重复的元素。
列表(List):List集合是有序集,在List中元素的存 储按照加入时的顺序排列,以索引的方式提供对元素 的访问,且允许包含重复元素。
13.2.5 Set接口及其实现类
Set接口的实现类的共同特点是不允许重复元素存在。 HashSet是无序集合的类,使用哈希表实现,因操作
(查询、插入、删除等)速度快,比较适用于内容规 模较大的元素。 TreeSet是有序的集合类,采用平衡二叉树的实现方式, 操作速度较慢。它描述的是Set的一种变体,即可以实 现排序功能的集合。
Java平台为程序员提供了76个包,除了 ng之外,其他包的内容都要使用import 语句引用。
import语句格式如下: import <包名/类名>;
13.1 Java语言基础类
13.1.2 Object类
Object类是Java语言所有类的根类。 Java中任何一个类都是它的直接或间接子类。 Object类中的方法被Java所有类继承。 Object类中定义的一些常用的方法
13.2 集合类
13.2.2 List接口及ArraryList、 Vector类
List接口继承和扩展了Collection接口,List接 口表示具有顺序的集合,其中可以包含重复元 素。
List接口的实现类主要有ArrayList、 LinkedList、Vector和Stack类。
13.2 集合类
SortedSet
TreeSet
List
Map SortedMap
HashMap Hashtable TreeMap
Properties
ArrayList
Vector
Stack
LinkedList
13.2 集合类
13.2.1 集合与Collection API
2. Collection接口
java.util.Collection接口定义了有关集合操作的普遍性方 法。
LinkedList的实现是一个双向链表。每个节点除含有 元素外,还包含向前、向后的指针。
13.2 集合类
13.2.3 Iterator及Enumeration
Java提供一种方法访问容器(Container)对象中的各 个元素,而又不需要暴露对象的内部细节,这就是 Iterator(迭代器)。
Number抽象类中定义的方法在其子类中都得到了实现。 它们用来将对象表示的数值转换为基本数据类型。
13.1 Java语言基础类
13.1.3 基本数据类型包装类
2. 数值类的构造方法
六种数值型包装类都有两个构造方法。一个是以该类 型的基本数据类型作为参数,另一个以一个字符串作 为参数。
3. 数值类的常量 4. 类型转换方法
13.2 集合类
13.2.4 Map接口及Hashtable类
(1)Map接口及其实现类
Map接口提供将键映射至值的功能,每个键最多只能 映射至一个值。
Map接口的实现类主要有HashMap、LinkedHashMap 和TreeMap。
(2)HashMap与HashTable
13.2 集合类
Byte Short Integer Long Float Double Character Boolean
13.1 Java语言基础类
13.1.3 基本数据类型包装类
1. Number类及其子类
在八种数据类型包装类中,除Character类和Boolean 类是Object类的直接子类外,其他六个类都涉及到数 值且都是抽象类Number类的直接子类。
所有的Collection元素都可以用Iterator迭代器来获取 元素,Vector等类还可以用Enumeration迭代器来列举 元素。
与Enumeration相比,Iterator可以采用remove()方法 删除元素,而Enumeration没有此功能。所以Iterator 功能更强,使用起来也更方便。
13.2.2 List接口及ArraryList、 Vector类
1. ArrayList类
ArrayList类以数组为数据结构实现了List接口,用于 表述长度可变的数组列表。
2. Vector向量
Vector类也实现了List接口,也用于表述长度可变的对 象数组列表。
与ArrayList的差别是:Vector是同步(线程安全)的, 运行效率要低一些,主要用在多线程环境中;而 ArrayList是不同步的,适合在单线程环境中使用。
将数值型对象转换为基本数据类型 将字符串转换成某种基本类型的数据 基本数据类型转换为字符串
13.1 Java语言基础类
13.1.3 基本数据类型包装类
5.自动装箱与拆箱
自动装箱(autoboxing)是指基本类型的数据可以自 动转换为包装类的实例,自动拆箱(unboxing)是指 包装类的实例自动转换为基本类型的数据。
13.1 Java语言基础类
13.1.2 Object类
Object类中定义的一些常用的方法
equals() :比较两个对象(引用)是否相同。 getClass():返回对象运行时所对应的类的表示,
从而可得到相应的信息。 toString():用来返回对象的字符串表示。 finalize():用于在垃圾收集前清除对象。 notify(),notifyAll(),wait():用于多线程处理中的同
相关文档
最新文档